Unity UI System Selector について
Unity UI System Selectorは、Unity開発者がUGUIとUI Toolkitを選び、両者の違いを把握するためのスキルです。Unityのバージョンに応じた選択指針、実装上の考慮点、移行の参考情報を提供します。
主な機能
- 01UGUIとUI Toolkitの比較
- 02Unityバージョン別の選択指針
- 03ランタイムとエディターの対応表
- 04移行ガイドの参照
- 05関連するUnityスキルとツール
活用シーン
- 01新規UnityプロジェクトのUIシステム選定
- 02既存プロジェクトのUI選択肢の評価
- 03UGUIからUI Toolkitへの移行計画
- 04エディターツールやランタイムUIの方式選定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dev-gom/ claude-code-marketplace --skill unity-ui-system-selectorインストール後、Claude Code で/unity-ui-system-selectorを入力して読み込まれたか確認します。
詳細
Unity UI システムセレクター
Unity プロジェクトに適した UI システムの選択を支援し、UGUI と UI Toolkit の両方について実装ガイダンスを提供します。
2 つの UI システム
UGUI(レガシー) - GameObject ベース(2014 年)。成熟しており、すべての Unity バージョンで動作し、コミュニティも大規模です。短所:複雑な UI のパフォーマンスが低く、スタイル設定が限られ、ライブリロードに対応していません。
UI Toolkit(モダン) - 保持モードで、Web に着想を得た UXML/USS を使用します(2021.2+)。パフォーマンスが高く、ライブリロードやデータバインディングに対応しています。短所:2021.2+ が必要で、コミュニティが小さく、3D ワールド空間 UI が限られています。
選択の指針
UGUI を使用する場合:
- Unity < 2021.2
- シンプルな UI(メニュー、HUD)
- 3D ワールド空間 UI が必要
- チームが UGUI に精通している/納期が厳しい
- レガシープロジェクト
UI Toolkit を使用する場合:
- Unity 2021.2+ で新規プロジェクト(将来性を確保)
- 複雑な UI/データ駆動型 UI(インベントリ、スキルツリー)
- エディターツール(インスペクター、ウィンドウ) - 強く推奨
- Web 開発の経験(HTML/CSS)がある
- 大規模な UI(MMO、ストラテジーゲーム)
迷った場合:Unity 2021.2+ で新規プロジェクトを作成するなら、UI Toolkit を推奨します。
比較
| 機能 | UGUI | UI Toolkit |
|---|---|---|
| バージョン | 4.6+ | 2021.2+ |
| パフォーマンス | シンプルな UI | すべての UI |
| スタイル設定 | インスペクター | CSS 風の USS |
| レイアウト | 手動/グループ | Flexbox 風 |
| エディターツール | 良好 | 優秀 |
| ランタイム UI | 優秀 | 良好 |
| 3D ワールド UI | 優秀 | 限定的 |
移行
UGUI から UI Toolkit への移行戦略については、migration-guide.md を参照してください(中規模プロジェクトでは 3~4 か月)。
UI システムのサポートマトリクス
| Unity バージョン | UGUI | UI Toolkit(エディター) | UI Toolkit(ランタイム) |
|---|---|---|---|
| 2019.4 LTS | ✅ 完全対応 | ✅ 基本対応 | ❌ 非対応 |
| 2020.3 LTS | ✅ 完全対応 | ✅ 良好 | ⚠️ 実験的 |
| 2021.3 LTS | ✅ 完全対応 | ✅ 優秀 | ✅ 本番環境対応 |
| 2022.3 LTS+ | ✅ 完全対応 | ✅ 主要 | ✅ 完全対応 |
他のコンポーネントとの使い分け
次の場合はこのスキルを使用します:UGUI と UI Toolkit のどちらを使うか選ぶ場合、UI システムのトレードオフを理解する場合、UI の移行を計画する場合
次の場合は @unity-scripter エージェントを使用します:UI コンポーネントを実装する場合、カスタム UI スクリプトを作成する場合、UI コードを変換する場合
次の場合は @unity-architect エージェントを使用します:複雑な UI アーキテクチャを設計する場合、UI のデータフローを計画する場合、大規模な UI システムを構成する場合
次の場合は /unity:new-script コマンドを使用します:UI Toolkit または UGUI のテンプレートを使用してエディタースクリプトを生成する場合
関連スキル
- unity-uitoolkit:UI Toolkit の実装を支援します(UXML、USS、VisualElement API)
- unity-template-generator:選択した UI システムを使用してエディタースクリプトを生成します
- unity-script-validator:UI コードのパターンを検証します