mcpField
U
ui

ui

github.com/unity-technologiesデザイン・UI57744 回インストール5 日前に更新
リポジトリ

ui について

Unity UI の依頼に応じて、UI Toolkit、uGUI、IMGUI のいずれを使うか選ぶルーティングスキルです。UI の質問、編集、生成を行うエージェント向けで、複数 UI システムの併用や Figma の依頼にも対応します。

主な機能

  1. 01ファイル名や UI 用語に基づく振り分け
  2. 02プロジェクトファイルから UI システムを判定
  3. 03理解・編集・生成への対応
  4. 04複数 UI システムの併用への対応
  5. 05Figma インポートの代替案

活用シーン

  1. 01Unity UI の変更に適したスキルの選択
  2. 02既存プロジェクトの UI フレームワークの特定
  3. 03Figma を元にした UI 依頼への対応
  4. 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 を含む .prefabui-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(エディター)
シーン/プレハブ内の CanvasuGUI
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
ファイル構成既存のプロジェクト構造に合わせる
ワークフロー
  1. UI システムを判断 — 上記のルーティングロジックを使用します
    • Figma のリクエストについては、自動インポートはここでは利用できないとユーザーに伝え、その後 ユーザーの説明またはスクリーンショットから作業し、フレームワークの検出を続けます
  2. 専用スキルを有効化 — ui-uitk、ui-ugui、または ui-imgui にルーティングします
  3. スキルがリクエストを処理 — 必要に応じて理解、編集、または生成を行います

混在プロジェクトの処理

多くの Unity プロジェクトでは、複数の UI システムが同時に使用されています(例: ランタイムのゲーム UI に UI Toolkit とエディターツール)。複数のシステムを検出した場合:

  • ランタイム UI のリクエスト(メニュー、HUD、ゲーム画面)→ すでに使用されているランタイムシステム(UITK または uGUI)にルーティングします
  • エディターツールのリクエスト(カスタムインスペクター、エディターウィンドウ):
    • 新しいエディター UI には UI Toolkit(CreateGUI)を優先します — これがモダンなアプローチです
    • プロジェクトの既存のエディターツールが IMGUI のみを使用している場合、またはユーザーが明示的に IMGUI を要求した場合にのみ IMGUI を使用してください
    • 既存のエディターの .uxml ファイルを確認して、UITK の使用を確かめます
  • 混在プロジェクトで新しいランタイム UI を作成する場合 → 類似する既存の UI で使用されているパターンに合わせます。類似する既存の UI がなく、ユーザーに希望がない場合は uGUI を使用してください

コメント