Communitygithub.com

unity-technologies/migrate-birp-vers-urp

Planifie, exécute et dépane les projets Unity passant du pipeline de rendu intégré (BiRP/BIRP/Built-in RP) au pipeline de rendu universel (URP). Utilisez-le lorsque l'utilisateur demande de mettre à niveau, convertir, basculer ou migrer un projet, une scène, un matériau ou un shader vers URP/Universal Render Pipeline ; corriger les matériaux roses ou magenta après URP ; convertir des matériaux/shaders Built-in ; transférer un projet 2D vers URP 2D ; revoir l'éclairage, la qualité, le post-processing, les lightmaps cuites ou les sondes de réflexion après URP ; ou diagnostiquer des problèmes visuels après une migration de pipeline de rendu.

Qu'est-ce que migrate-birp-vers-urp ?

Ce skill pour agents IA spécialisé dans Unity automatise la migration du pipeline de rendu intégré (BiRP) vers le pipeline de rendu universel (URP). Il est conçu pour des agents comme Claude Code, Cursor ou Codex, et fournit un workflow structuré et sûr. Le skill commence par inspecter l'état actuel du projet, classifier la demande (migration 3D standard, URP 2D, conversion sélective de matériaux, planification uniquement ou dépannage), et identifier les risques de migration tels que les matériaux particules/VFX, les shaders personnalisés, le post-processing hérité (PPv2), l'éclairage cuit et les sondes de réflexion. Il exige impérativement que l'utilisateur confirme un point de restauration (branche, sauvegarde, copie jetable) avant toute modification du pipeline. Le processus est découpé en phases : configuration URP et conversion de matériaux, migration du post-processing et des caméras, gestion de l'éclairage et des sondes, puis validation finale. Pour déclarer la migration complète, l'agent doit vérifier l'état sauvegardé du projet, notamment les paramètres graphiques, les matériaux convertis, l'absence d'erreurs dans la console Unity, et la persistance des effets de post-processing, en ne se fiant pas uniquement aux journaux des outils.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/unity-technologies/skills/tree/main/skills/migrate-birp-to-urp

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Classez la demande, inspectez l'état actuel du projet, choisissez le bon chemin de migration et validez soigneusement le résultat de la migration de BiRP vers URP.

Référence d'exécution obligatoire

Pour toute migration ou réparation réelle, lisez references/implementation-patterns.md avant le premier appel eval qui modifie les paramètres du projet, les matériaux, le post-processing, l'éclairage, les sondes ou les scènes. Ceci est obligatoire même pour des invites courtes comme "migrer ce projet vers URP" lorsque la sécurité de restauration est déjà confirmée.

Si cette ressource ne peut pas être chargée, utilisez les règles intégrées de ce SKILL.md et réduisez votre niveau de confiance : n'affirmez pas la conversion PPv2, l'actualisation de l'éclairage/des sondes ou l'achèvement de la migration à partir de l'intention ou des seuls journaux d'outils.

Valeur par défaut critique

Pour des demandes simples comme "migrer ce projet Built-in vers URP" ou "transférer ce projet vers URP", démarrez ou reprenez le workflow de migration sécurisé plutôt que de passer directement à la conversion.

Une invite de mise à niveau générique ne doit pas obliger l'utilisateur à mentionner tous les risques de migration. Inspectez et gérez les dépendances Built-in courantes telles que PPv2, l'éclairage/lightmaps cuits, les sondes de réflexion, les matériaux particules/brouillard/fumée, les niveaux de qualité, le post-processing des caméras et la validation de scènes représentatives.

Le résultat par défaut est basé sur des phases :

  1. Détectez si le projet est Built-in, partiellement migré, déjà URP ou HDRP.
  2. Classez la demande comme URP 3D standard, URP 2D, conversion de matériaux sélectionnés, planification uniquement ou dépannage.
  3. Inspectez les risques de migration avant de recommander des modifications : matériaux opaques, matériaux particules/VFX, shaders personnalisés, post-processing, effets de caméra, éclairage/lightmaps/sondes de réflexion cuits, niveaux de qualité et scènes représentatives.
  4. Arrêtez-vous avant tout travail de mutation du pipeline jusqu'à ce que l'utilisateur confirme un point de restauration tel qu'une branche, une sauvegarde, une archive ou une copie jetable. Le travail de mutation du pipeline comprend l'installation d'URP, l'affectation d'un asset URP dans les paramètres Graphics/Quality, l'exécution des convertisseurs et la modification des matériaux ou des scènes.
  5. Choisissez la phase de migration suivante, exécutez cette phase, sauvegardez/requérez ses sorties et rapportez son statut de phase.
  6. Traitez les shaders personnalisés, GrabPass, les Surface Shaders, OnRenderImage, les shaders de remplacement et les shaders appartenant à des packages comme un travail de suivi limité, et non comme un travail de conversion automatique.
  7. Validez les scènes représentatives, la sortie Console, le rendu de la caméra, l'état de l'éclairage/GI cuite, les matériaux, la persistance du post-processing et les affectations des niveaux de qualité avant de déclarer le succès complet de la migration.

Phases par défaut :

  • Phase 0 : Inspectez et planifiez. Détectez l'état du pipeline, les scènes représentatives, la sécurité de restauration, PPv2, les risques matériaux/shaders, les niveaux de qualité, l'état de l'éclairage/lightmap/sonde et le code de rendu personnalisé.
  • Phase 1 : Configuration URP et conversion de matériaux prise en charge. Installez/réutilisez URP, créez/affectez des assets URP dans Graphics/Quality, convertissez les matériaux opaques et particules/effets pris en charge, et vérifiez qu'aucun matériau pris en charge ne reste sur des shaders Built-in.
  • Phase 2 : Migration du post-processing et de la caméra. Créez des profils Volume URP persistants, connectez les Volumes de scène/le post-processing de la caméra, désactivez le PPv2 hérité pour la validation URP, et classez les effets PPv2 non pris en charge comme SSR.
  • Phase 3 : Éclairage, lightmaps et sondes de réflexion. Résolvez l'état d'éclairage Built-in obsolète, configurez les paramètres d'éclairage/sonde URP, recuisez/actualisez lorsque c'est faisable, ou marquez clairement l'éclairage/les sondes comme partiels.
  • Phase 4 : Validation finale et rapport. Sauvegardez/rechargez/requérez l'état du projet, capturez les scènes représentatives, vérifiez la Console et rapportez les éléments complets/incomplets/manuels.

Un seul tour peut terminer plusieurs phases si le projet est petit et qu'Unity reste stable, mais ne forcez pas toutes les phases en une seule réponse. Privilégiez une limite de phase honnête plutôt qu'un résultat "complet" exagéré.

Posez des questions de configuration uniquement lorsque l'état du projet ou l'intention de l'utilisateur laisse une décision réelle non résolue. Si l'utilisateur dit "ne pas modifier les fichiers", restez en mode audit/planification et n'effectuez pas de conversion ou de modification d'assets.

Contrat de mise à niveau générique

Lorsque l'utilisateur donne une demande de migration générique et autorise les modifications, pilotez la phase suivante à partir de l'état du projet :

  1. Ne demandez pas à l'utilisateur d'énumérer les fonctionnalités Built-in connues avant l'inspection. Découvrez-les.
  2. Si PPv2, l'éclairage cuit, les sondes de réflexion, les matériaux particules/brouillard/fumée ou plusieurs niveaux de qualité existent, incluez-les automatiquement dans la migration.
  3. Préférez l'achèvement de phase à l'achèvement tout-en-un. Chaque phase doit sauvegarder/requérir ses propres sorties et se terminer par Phase complete, Phase partial ou Blocked.
  4. Si la compilation Unity, l'installation du package, le rechargement de domaine ou une longue cuisson d'éclairage interrompt la passe, signalez l'interruption comme une limite de phase et reprenez à partir de l'état partiel sauvegardé au tour suivant plutôt que de recommencer.
  5. Ne comptez pas sur l'utilisateur pour écrire une invite de liste de contrôle détaillée pour obtenir un comportement correct. La liste de contrôle détaillée est destinée aux tests de performance ou aux tests de stress ; les invites utilisateur normales doivent toujours déclencher ce contrat par phases.
  6. Une demande de migration générique donne la permission d'inspecter et de planifier, mais elle ne prouve pas la sécurité de restauration. Si aucun point de restauration n'est confirmé, arrêtez-vous avant l'installation du package ou l'affectation URP et demandez une confirmation. Ne laissez pas le projet dans un état magenta partiel juste pour atteindre la question de sauvegarde.
  7. Si la sécurité de restauration est déjà confirmée ou si l'utilisateur dit que le projet est une copie jetable, continuez dans la phase actuelle sans redemander pour le travail de routine.
  8. À la fin d'une phase, donnez une invite concise pour la phase suivante ou dites quelle phase doit s'exécuter ensuite. Demandez une confirmation avant la phase suivante uniquement lorsqu'elle introduit une nouvelle opération coûteuse ou risquée, comme une longue cuisson d'éclairage, la suppression/nettoyage d'assets hérités ou une réécriture de shader personnalisé.
  9. Si la sécurité de restauration a été confirmée et que le travail ordinaire dans la phase active reste incomplet, ne demandez pas "souhaitez-vous que je continue ?" Continuez à réparer cette phase jusqu'à ce que sa porte passe, une limite d'outil/rechargement de domaine interrompe l'exécution, ou une nouvelle décision vraiment risquée apparaisse.

Porte de succès de migration générique

Avant de dire qu'une migration générique est "réussie", "complète" ou "entièrement migrée", vérifiez l'état sauvegardé du projet, pas seulement les journaux d'outils :

  1. Les paramètres graphiques et chaque niveau de qualité pertinent pointent vers l'asset URP prévu.
  2. L'asset URP a un renderer par défaut valide dans l'état sauvegardé, et la sortie Console actuelle ne contient pas d'erreurs de pipeline de rendu non résolues telles que "Default Renderer is missing". Si une erreur de renderer apparaît après l'affectation, reconsultez la liste des renderers sauvegardés/l'index par défaut, effacez la sortie Console obsolète lorsque c'est possible, déclenchez une nouvelle validation de scène/caméra et continuez la réparation au lieu de vous arrêter à "configuration URP terminée".
  3. Les matériaux Built-in pris en charge, y compris les matériaux particules/brouillard/fumée, ont des shaders compatibles URP ou sont explicitement répertoriés comme des cas de shaders personnalisés/package non résolus. Les matériaux sources texturés/colorés doivent conserver leurs textures/couleurs sources ; une affectation de shader URP avec _BaseMap manquant ou _BaseColor tout blanc est incomplète si la source _MainTex ou _Color avait du contenu. Les matériaux d'effets particules, brouillard, fumée, vapeur, decal, VFX, additifs et transparents ne doivent pas être forcés aveuglément à Universal Render Pipeline/Lit ; préférez les shaders particules/effets URP tels que Universal Render Pipeline/Particles/Unlit lorsque c'est approprié.
  4. Si la scène source utilisait PPv2, un profil Volume URP sauvegardé doit exister, connecté au Volume global de la scène, et les effets PPv2 non pris en charge (par exemple, Depth of Field, SSR) doivent être marqués comme manuels ou supprimés de la configuration.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

unity-technologies/2d-pixel-perfect

Sets up, diagnoses, and fixes pixel perfect 2D rendering in Unity projects. Use when working on any retro-style or pixel art 2D game.

unity-technologies/audio-setup-mixers

Scans the scene and audio assets to appropriately route Audio Sources into existing Audio Mixer Groups, classifying each source by what it plays. Use when the user asks about cleaning up mixer assignments, routing audio through a mixer, or which group a sound belongs in. Creating mixers and groups, and setting volumes, are not automated — the skill inventories what exists and asks the user to add anything missing.

unity-technologies/build-live-game

Build and operate a live game using Unity Services. Use when the user needs to implement, connect, or debug backend-driven features — battle passes, achievements, player progression, cloud saves, leaderboards, matchmaking, virtual economies, server-authoritative logic, anti-cheat, player accounts and authentication, remote configuration, feature flags, A/B testing, analytics, or cloud resource deployment. Triggers on live-ops, live service, backend, server authority, cloud code, cloud save, remote config, player data, retention, monetization loop, season pass, ranking, multiplayer sessions, lobbies, or any Unity Services integration.

unity-technologies/generate-editor-search-query

Generates Unity Search / Quick Search queries and opens the Unity Search window for read-only Unity Editor asset or scene-object lookup requests. Always use when the user asks to find, search, show, locate, filter, look up, query, or list concrete assets or scene objects in the current project or scene, even if Unity Search is not named. Covers materials, textures, prefabs, scenes, scripts, shaders, GameObjects, components, Lights, Cameras, UI objects, labels, paths, references, selected or named assets, and asset types. Also use when the user explicitly mentions Unity Search, Quick Search, Search window, open Search, or asks what Unity Search query to use. Do not use for general project overview, project structure, folder-purpose summaries, gameplay/system explanations, how-to programming questions, web search, repository text search, build logs, package installation, menu or settings search, modifying results, or non-Unity filesystem search unless the user explicitly asks to use Unity Search.

unity-technologies/implement-in-app-purchases

Implement, configure, and debug Unity In-App Purchases (IAP) — store connection, product catalog, consumable/non-consumable/subscription purchases, two-step pending-confirm flow, receipt validation, entitlement checking, restore transactions, Apple extensions (promotional purchases, Ask-to-Buy, code redemption), and Google Play extensions (subscription upgrade/downgrade), D2C Capabilities(direct to customer), 3rd party payment provider (Stripe/Coda) via Unity IAP/Unity Cloud. Use when the user needs to add, modify, debug, or migrate from native Android/iOS billing, 3rd party packages(RevenueCat/Adapty/Essential Kit/Unipay supported) to IAP. Triggers on microtransactions (MTX), monetization, real-money purchases, store purchases, buying items, support D2C, purchase via Stripe/Coda, migrate from native billing(Google's BillingClient or Apple's StoreKit/SKPaymentQueue/SKProduct)/RevenueCat/Adapty/EssentialKit/Unipay.

unity-technologies/initialize-ai-navigation

Sets up and configures the Unity AI Navigation system — NavMesh surfaces, NavMesh agents, obstacles, links, modifiers, areas and costs. Use when creating walkable navigation meshes, adding pathfinding agents, setting up patrol routes, configuring obstacle avoidance and carving, connecting separate NavMeshes with links, coupling navigation with animation, or troubleshooting navigation issues.

unity-technologies/levelplay-unity-integration

Integrates the LevelPlay Mediation SDK via the Ads Mediation UPM package. Use when a developer asks about adding ads to a Unity game, implementing rewarded, interstitial, or banner ads, setting up ad mediation, configuring ad networks, installing or updating the Ads Mediation package, troubleshooting LevelPlay namespace errors, resolving Android gradle or iOS CocoaPods dependency issues for ads, configuring ATT or privacy settings for ad compliance, tracking impression-level revenue (ILRD), initializing the LevelPlay SDK, or setting up ad unit IDs. Also use when a developer wants to monetize their Unity game with ads, asks how to get started with LevelPlay, ads, or mediation, or needs help with any part of the LevelPlay integration workflow including platform-specific setup for iOS or Android. Also use when upgrading the LevelPlay or IronSource SDK version, migrating from deprecated IronSource.Agent APIs, or migrating a game from Unity Ads to LevelPlay.

unity-technologies/localization

Sets up and configures Unity Localization, including locales, String/Asset Tables, CJK font support, and Addressables workflows. Use when the user wants to add languages to a project, translate UI text, support Asian (CJK) languages with TMP fonts, or mentions i18n, l10n, multilingual support, or making a game support multiple languages.

unity-technologies/manage-sprite-atlas

Manage SpriteAtlas using prebuild pipeline with IPreprocessBuildWithReport (DEFAULT approach). Use it to configure master atlases, variant atlases, texture settings, packing settings, and platform-specific configurations. Use when the user asks about creating sprite atlases, optimizing sprites, configuring atlas settings, adding sprites to atlases, creating variant atlases, implementing automated atlas generation, or runtime sprite atlas access. Always use prebuild approach unless user explicitly requests manual authoring.

Skills associés