Communitygithub.com

unity-technologies/migrate-birp-to-urp

UnityプロジェクトをBuilt-In Render Pipeline(BiRP)からUniversal Render Pipeline(URP)に計画的に移行・トラブルシューティングします。プロジェクト、シーン、マテリアル、シェーダーのアップグレード、URP移行後のピンク/マゼンタマテリアルの修正、2DプロジェクトのURP 2D移行、ライティング・品質設定・ポストプロセッシング・ベイク済みライトマップ・リフレクションプローブの確認、レンダーパイプライン移行後の視覚的問題の診断などに対応します。

migrate-birp-to-urp とは?

このスキルは、UnityプロジェクトをBuilt-In Render Pipeline(BiRP)からUniversal Render Pipeline(URP)へ安全かつ段階的に移行するための包括的なワークフローを提供します。主な機能は、リクエストの分類、プロジェクト状態の検査、適切な移行パスの選択、そして移行結果の検証です。対応プラットフォームは主にUnityエディタ上での操作であり、Claude CodeなどのAIエージェントと連携して実行されます。 スキルの特長は、単なる変換ではなく、段階的なフェーズ(Phase 0: 検査・計画、Phase 1: URP設定とマテリアル変換、Phase 2: ポストプロセッシングとカメラ移行、Phase 3: ライティング・ライトマップ・リフレクションプローブ、Phase 4: 最終検証・報告)に基づいて動作することです。各フェーズでは状態の保存と再クエリを徹底し、ロールバック安全性を確認した上でパイプライン変更を行います。PPv2、ベイク済みライティング、パーティクルマテリアル、カスタムシェーダーなどのリスクを自動検出し、段階的に対処します。 また、このスキルはエージェントに対して「参照実装パターン」ファイルの事前読み込みを義務付けており、evalコールによる設定変更前に必ず確認するよう設計されています。汎用的な移行リクエストに対しては、ユーザーが詳細なチェックリストを書かなくても適切な段階的処理を開始し、各フェーズの完了状態を「Phase complete」「Phase partial」「Blocked」で報告します。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

リクエストを分類し、現在のプロジェクト状態を検査し、適切な移行パスを選択し、Built-In から URP への移行結果を慎重に検証します。

必須の実行参照

実際の移行や修復パスを実行する前に、プロジェクト設定、マテリアル、ポストプロセッシング、ライティング、プローブ、シーンを編集する最初の eval 呼び出しの前に必ず references/implementation-patterns.md を読んでください。これは、ロールバックの安全性がすでに確認されている場合でも、「このプロジェクトをURPに移行して」のような短いプロンプトに対して必須です。

このリソースを読み込めない場合は、この SKILL.md の埋め込みルールを使用し、信頼度を下げてください。意図やツールログだけから PPv2 変換、ライティング/プローブのリフレッシュ、または移行完了を主張しないでください。

重要なデフォルト動作

「この Built-In プロジェクトを URP に移行して」や「このプロジェクトを URP に移動して」のような単純なリクエストでは、直接変換に飛び込むのではなく、安全な移行ワークフローを開始または再開してください。

汎用的なアップグレードプロンプトでは、ユーザーがすべての移行リスクを明示する必要はありません。一般的な Built-In 依存関係(PPv2、ベイク済みライティング/ライトマップ、リフレクションプローブ、パーティクル/フォグ/スモークマテリアル、Quality レベル、カメラポストプロセッシング、代表的なシーンの検証)を検査し、適切に処理してください。

デフォルトの結果はフェーズベースです:

  1. プロジェクトが Built-In、部分的に移行済み、すでに URP、または HDRP のいずれかを検出します。
  2. リクエストを標準の 3D URP、URP 2D、選択マテリアル変換、計画のみ、またはトラブルシューティングに分類します。
  3. 変更を推奨する前に移行リスクを検査します:不透明マテリアル、パーティクル/VFXマテリアル、カスタムシェーダー、ポストプロセッシング、カメラエフェクト、ベイク済みライティング/ライトマップ/リフレクションプローブ、Quality レベル、代表的なシーン。
  4. ユーザーがブランチ、バックアップ、アーカイブ、使い捨てコピーなどのロールバックポイントを確認するまで、パイプラインを変更する作業の前で停止します。パイプライン変更作業には、URPのインストール、Graphics/Quality設定でのURPアセットの割り当て、コンバーターの実行、マテリアルやシーンの編集が含まれます。
  5. 次の移行フェーズを選択し、そのフェーズを実行し、出力を保存/再クエリし、フェーズステータスを報告します。
  6. カスタムシェーダー、GrabPass、サーフェイスシェーダー、OnRenderImage、代替シェーダー、パッケージ所有シェーダーは、自動コンバーターの対象ではなく、スコープ外のフォローアップ作業として扱います。
  7. 完全な移行成功を宣言する前に、代表的なシーン、コンソール出力、カメラレンダリング、ライティング/ベイク済みGI状態、マテリアル、ポストプロセッシングの永続性、Quality レベルの割り当てを検証します。

デフォルトのフェーズ:

  • フェーズ 0: 検査と計画。パイプライン状態、代表的なシーン、ロールバック安全性、PPv2、マテリアル/シェーダーのリスク、Quality レベル、ライティング/ライトマップ/プローブの状態、カスタムレンダーコードを検出します。
  • フェーズ 1: URP セットアップとサポートされるマテリアル変換。URPをインストール/再利用し、Graphics/QualityにURPアセットを作成/割り当て、サポートされる不透明マテリアルとパーティクル/エフェクトマテリアルを変換し、Built-In シェーダーのままのサポート対象マテリアルがないことを確認します。
  • フェーズ 2: ポストプロセッシングとカメラの移行。永続的なURP Volume プロファイルを作成し、シーン Volume/カメラポストプロセッシングを配線し、URP検証のためにレガシーPPv2を無効にし、SSRなどのサポートされないPPv2エフェクトを分類します。
  • フェーズ 3: ライティング、ライトマップ、リフレクションプローブ。古いBuilt-Inライティング状態を解決し、URPライティング/プローブ設定を構成し、可能な場合は再ベイク/リフレッシュし、またはライティング/プローブを部分的と明確にマークします。
  • フェーズ 4: 最終検証とレポート。プロジェクト状態を保存/リロード/再クエリし、代表的なシーンをキャプチャし、コンソールを確認し、完了/未完了/手動項目を報告します。

1ターンで、プロジェクトが小さくUnityが安定している場合は複数のフェーズを完了できますが、すべてのフェーズを1回の応答に詰め込もうとしないでください。過剰に「完了」と主張するよりも、誠実なフェーズ境界を優先してください。

構成に関する質問は、プロジェクト状態やユーザーの意図に本当に未解決の判断が残っている場合のみ行ってください。ユーザーが「ファイルを変更しないで」と言った場合は、監査/計画モードのままで、変換やアセット編集を行わないでください。

汎用アップグレード契約

ユーザーが汎用的な移行リクエストを行い、変更を許可した場合、プロジェクト状態から次のフェーズを駆動します:

  1. 検査前に既知の Built-In 機能をユーザーに列挙させないでください。自分で発見してください。
  2. PPv2、ベイク済みライティング、リフレクションプローブ、パーティクル/フォグ/スモークマテリアル、または複数の Quality レベルが存在する場合、それらを自動的に移行に含めてください。
  3. すべてを一度に完了するよりも、フェーズの完了を優先してください。各フェーズは出力を保存/再クエリし、Phase complete、Phase partial、または Blocked で終了する必要があります。
  4. Unityのコンパイル、パッケージインストール、ドメインリロード、または長時間のライティングベイクが処理を中断した場合、その中断をフェーズ境界として報告し、最初からやり直すのではなく、次のターンで保存された部分状態から再開してください。
  5. 正しい動作を得るためにユーザーが詳細なチェックリストプロンプトを書く必要があると想定しないでください。詳細なチェックリストはベンチマークやストレステスト用です。通常のユーザープロンプトでもこの段階的契約がトリガーされる必要があります。
  6. 汎用的な移行リクエストは検査と計画の許可を与えますが、ロールバック安全性を証明するものではありません。ロールバックポイントが確認されていない場合は、パッケージインストールやURP割り当ての前に停止し、確認を求めてください。バックアップの質問にたどり着くためだけにプロジェクトをマゼンタの部分状態のままにしないでください。
  7. ロールバックの安全性がすでに確認されている場合、またはユーザーがプロジェクトは使い捨てコピーであると言った場合は、日常的な作業については再度質問せずに現在のフェーズ内で続行してください。
  8. フェーズの終わりに、簡潔な次のフェーズのプロンプトを提示するか、次にどのフェーズを実行すべきかを示してください。新しいコストが高いまたはリスクの高い操作(長時間のライティングベイク、レガシーアセットの削除/クリーンアップ、カスタムシェーダーの書き換えなど)を導入する場合にのみ、次のフェーズの前に確認を求めてください。
  9. ロールバックの安全性が確認され、アクティブなフェーズ内の通常作業が未完了のままの場合、「続行しますか?」と尋ねないでください。そのフェーズのゲートが合格するか、ツール/ドメインリロードの境界が実行を中断するか、真に新しいリスクの高い判断が現れるまで、そのフェーズの修復を続けてください。

汎用移行成功ゲート

汎用的な移行が「成功した」、「完了した」、または「完全に移行した」と言う前に、ツールログだけでなく、保存されたプロジェクト状態を検証してください:

  1. Graphics設定とすべての関連する Quality レベルが目的の URP アセットを指していること。
  2. URPアセットに保存された状態で有効なデフォルトレンダラーがあり、現在のコンソール出力に「Default Renderer is missing」のような未解決のレンダーパイプラインエラーが含まれていないこと。割り当て後にレンダラーエラーが表示された場合は、保存されたレンダラーリスト/デフォルトインデックスを再クエリし、可能であれば古いコンソール出力をクリアし、新しいシーン/カメラ検証をトリガーし、「URPセットアップ完了」で停止するのではなく修復を続けてください。
  3. パーティクル/フォグ/スモークマテリアルを含むサポートされる Built-In マテリアルが URP 互換シェーダーを持っているか、未解決のカスタム/パッケージシェーダーケースとして明示的にリストされていること。テクスチャ付き/色付けされたソースマテリアルは、ソースマップ/色を保持する必要があります。_BaseMap がない、または _BaseColor がすべて白の URP シェーダー割り当ては、ソースの _MainTex や _Color に内容があった場合不完全です。パーティクル、フォグ、スモーク、スチーム、デカール、VFX、加算、透明エフェクトマテリアルは、無理やり Universal Render Pipeline/Lit に強制しないでください。適切な場合は、Universal Render Pipeline/Particles/Unlit などの URP パーティクル/エフェクトシェーダーを優先してください。
  4. ソースシーンが PPv2 を使用していた場合、保存された URP

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.

関連スキル