ui について
Unity UI の依頼に応じて、UI Toolkit、uGUI、IMGUI のいずれを使うか選ぶルーティングスキルです。UI の質問、編集、生成を行うエージェント向けで、複数 UI システムの併用や Figma の依頼にも対応します。
主な機能
- 01ファイル名や UI 用語に基づく振り分け
- 02プロジェクトファイルから UI システムを判定
- 03理解・編集・生成への対応
- 04複数 UI システムの併用への対応
- 05Figma インポートの代替案
活用シーン
- 01Unity UI の変更に適したスキルの選択
- 02既存プロジェクトの UI フレームワークの特定
- 03Figma を元にした UI 依頼への対応
- 04振り分けずに UI の概念的な質問に回答
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ unity-technologies/ unity-agent-plugin --skill uiインストール後、Claude Code で/uiを入力して読み込まれたか確認します。
詳細
プロジェクトに適した UI システムを特定し、適切な専門スキルに振り分けます。
振り分ける場合と直接回答する場合
専門スキルに振り分ける場合:
- 特定の UI 要素について、理解、編集、生成を希望している
- 特定のファイルや UI オブジェクトに言及している
- UI の変更や作成を依頼している
直接回答する場合(振り分けなし):
- 比較や学習に関する質問をしている(「UI Toolkit と uGUI の違いは何ですか?」など)
- UI システムの機能や推奨事項について尋ねている(「モバイルでは UITK と uGUI のどちらを使うべきですか?」など)
- Unity の UI アーキテクチャについて概念的な説明を求めている
振り分けのロジック
ステップ 1:明示的なファイル参照やキーワードを確認します:
| ユーザーの言及 | 振り分け先 |
|---|---|
.uxml または .uss ファイル(/Editor/ 内を含む) | ui-uitk |
| 「UI Toolkit」、「UITK」、「UIElements」、「CreateGUI」 | ui-uitk |
Canvas のプレハブ/オブジェクト、UI を含む .prefab | ui-ugui |
| 「uGUI」、「Canvas」、「RectTransform」、「legacy UI」 | ui-ugui |
| 「IMGUI」、「OnGUI」、「OnInspectorGUI」、「immediate mode」 | ui-imgui |
Figma の URL(figma.com/design/...)、「Figma」、「import from Figma」 | 利用できません — 以下を参照 |
エディター関連の依頼(EditorWindow、カスタムインスペクター、PropertyDrawer)の場合:
- 明示的な UI システムへの言及がない場合 → ステップ 2 に進み、プロジェクトのエディター UI システムを特定します
- 既存のパターンが検出されない場合、新しいエディター UI には
ui-uitkをデフォルトで使用します - プロジェクトで IMGUI のみが使用されている場合、またはユーザーから明示的に指定された場合に限り、
ui-imguiを使用します
明示的なファイルまたはキーワードが見つかった場合は、対応するスキルをすぐに有効化します。
ステップ 2:曖昧な場合は、プロジェクトから特定します:
プロジェクトを検索し、どの UI システムが使われているかを確認します:
| 確認する項目 | 示しているもの |
|---|---|
.uxml または .uss ファイル(/Editor/ 内を含む) | UI Toolkit(ランタイムまたはエディター) |
シーン内の UIDocument コンポーネント | UI Toolkit(ランタイム) |
CreateGUI() メソッドを持つエディタースクリプト | UI Toolkit(エディター) |
シーン/プレハブ内の Canvas | uGUI |
RectTransform の多用 | uGUI |
OnGUI() または OnInspectorGUI() を持つエディタースクリプト | IMGUI(旧式のエディター) |
ステップ 3:それでも不明な場合は、質問するかデフォルトを選択します:
- 既存のプロジェクトの場合:どのフレームワークがすでに使われているかを特定し、それに従います(ステップ 2)
- UI がまだない新規プロジェクトの場合:ユーザーに希望するフレームワーク(UI Toolkit または uGUI)を尋ねます。UI Toolkit はモダンで CSS に似た方式、uGUI は Canvas ベースで成熟した方式であることを簡潔に説明します
- ユーザーに希望がない新規のランタイム/ゲーム UI の場合:デフォルトで uGUI(
ui-ugui)を選択します - ユーザーがモバイルやパフォーマンスの制約、または古い Unity バージョン(6.0 より前)に言及した場合:uGUI(
ui-ugui)を優先します
依頼の種類
専門スキルは、次の 3 種類の依頼に対応します:
| 種類 | 例 |
|---|---|
| 理解 | 「このボタンは何をしますか?」、「これはどのように配置されていますか?」、「この UI を説明してください」 |
| 編集 | 「この色を変更してください」、「ここにラベルを追加してください」、「このレイアウトを修正してください」 |
| 生成 | 「メニューを作成してください」、「インベントリ画面を作ってください」、「設定パネルを構築してください」 |
UI システムに基づいて、すべての種類の依頼を適切な専門スキルに振り分けます。
利用可能なサブスキル
UI Toolkit — ui-uitk
- UI Toolkit を使用する Unity 6.0 以降のプロジェクト(ランタイムのゲーム UI とエディターツール)向け
.uxmlおよび.ussファイルを理解、編集、生成します- モダンで CSS に似たスタイル設定方式です
- 新しいエディターウィンドウ(CreateGUI)と、既存の UI Toolkit プロジェクトに推奨されます
uGUI — ui-ugui
- Unity の Canvas ベースの UI システムを使用するプロジェクト向け
- Canvas の階層を理解、編集、生成します
- レスポンシブデザインには Layout Groups を使用します
- ユーザーにフレームワークの希望がない新規のランタイム/ゲーム UI ではデフォルトです
IMGUI — ui-imgui
- OnGUI/即時モードを使用するレガシーなエディターツール向け
- プロジェクトに既存の IMGUI エディターコードがある場合、またはユーザーが明示的に IMGUI を要求した場合にのみ使用してください
- OnGUI で構築された EditorWindow、インスペクター、PropertyDrawer を理解し、編集し、生成します
- ランタイムのゲーム UI 向けではありません — 新しいエディターツールには、プロジェクトがすでに IMGUI のみを使用している場合を除き、UI Toolkit を使用してください
Figma デザインのインポート — ここでは利用できません
Figma デザインのインポートには Unity の Figma 統合サービスが必要ですが、これは Unity AI Assistant 内にのみ存在します。クライアント側に同等のものはないため、約束しないでください。
ユーザーが Figma の URL を持ち込んだ場合は、自動インポートはここでは利用できないと伝え、 代替案を提示してください。画面を説明するかスクリーンショットを提供してもらい、上記の 適切なフレームワークスキルで構築します。
共通ガイドライン(すべての UI システム)
スコープの規律
要求されたことだけを行ってください:
- 質問 → 変更を加えずに回答する
- 対象を絞った編集 → 指定されたものだけを変更する
- 生成 → 要求されたファイルだけを作成する
- 明示的に依頼されない限り、スクリプトを先回りして追加しないでください
これらはスクリプトを意味しません:
- 「適切なボタン」 → 適切にスタイル設定されたボタン
- 「動作する UI」 → レンダリングされる有効な UI
- 「メニュー画面」 → 視覚的なレイアウトのみ
規約
まずプロジェクトのパターンに従ってください。 デフォルトを適用する前に既存のファイルを検索してください。
| 種類 | 規約 |
|---|---|
| 要素名 | プロジェクトのパターンに従う、または camelCase |
| ファイル構成 | 既存のプロジェクト構造に合わせる |
ワークフロー
- UI システムを判断 — 上記のルーティングロジックを使用します
- Figma のリクエストについては、自動インポートはここでは利用できないとユーザーに伝え、その後 ユーザーの説明またはスクリーンショットから作業し、フレームワークの検出を続けます
- 専用スキルを有効化 —
ui-uitk、ui-ugui、またはui-imguiにルーティングします - スキルがリクエストを処理 — 必要に応じて理解、編集、または生成を行います
混在プロジェクトの処理
多くの Unity プロジェクトでは、複数の UI システムが同時に使用されています(例: ランタイムのゲーム UI に UI Toolkit とエディターツール)。複数のシステムを検出した場合:
- ランタイム UI のリクエスト(メニュー、HUD、ゲーム画面)→ すでに使用されているランタイムシステム(UITK または uGUI)にルーティングします
- エディターツールのリクエスト(カスタムインスペクター、エディターウィンドウ):
- 新しいエディター UI には UI Toolkit(CreateGUI)を優先します — これがモダンなアプローチです
- プロジェクトの既存のエディターツールが IMGUI のみを使用している場合、またはユーザーが明示的に IMGUI を要求した場合にのみ IMGUI を使用してください
- 既存のエディターの
.uxmlファイルを確認して、UITK の使用を確かめます
- 混在プロジェクトで新しいランタイム UI を作成する場合 → 類似する既存の UI で使用されているパターンに合わせます。類似する既存の UI がなく、ユーザーに希望がない場合は uGUI を使用してください