mcpField
U
unity-ui-procedural

unity-ui-procedural

github.com/muharremtozan開発1755 回インストール22 週間前に更新
リポジトリ

unity-ui-procedural について

C#でUIを手続き的に構築するUnity UI Toolkitスキルです。UXMLファイルを使わず、メソッドチェーンによる要素構築、再利用可能なポインターマニピュレーター、USSクラスによるスタイル設定を行えます。

主な機能

  1. 01メソッドチェーンでのUIツリー構築
  2. 02再利用可能なポインターマニピュレーター
  3. 03UXML不要の手続き型UI
  4. 04USSクラスによるスタイル設定

活用シーン

  1. 01動的なインベントリ画面の構築
  2. 02要素へのドラッグ操作の追加
  3. 03メニューやHUDの手続き型作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/muharremtozan/unity-agent-skills --skill unity-ui-procedural

インストール後、Claude Code で/unity-ui-proceduralを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/code/
DragManipulator.cs.txt
ProceduralViewExample.cs.txt
UIToolkitExtensions.cs.txt

詳細

Unity UI ToolkitによるプロシージャルUI

すべてコードで、非常に高速かつ動的なユーザーインターフェースを構築します。このスキルは「ロジックファースト」なUIワークフローを実現し、インベントリ、ツールチップ、動的なHUDなどの複雑なシステムに最適です。

主な機能

  1. 流暢な階層構築:.CreateChild<T>()や.WithClass()などの拡張メソッドをチェーンして、ドキュメントのように読みやすいUIツリーを構築します。
  2. 汎用ポインターマニピュレーター:Manipulator APIを使って、操作ロジック(ドラッグ、リサイズ、選択)をビジュアルから分離します。
  3. ビルダー不要のワークフロー:複雑なUXMLファイルが不要になり、UIをバージョン管理しやすく、プロシージャルに拡張できるようになります。
  4. BEMとの統合:拡張メソッドはCSSクラスの適用を優先し、整理されたスタイリングシステムを維持します。

主なファイル(最大3件)

  • UIToolkitExtensions.cs.txt:要素の作成とスタイリングをチェーンする汎用メソッド。
  • DragManipulator.cs.txt:あらゆるVisualElementに対応する、クロスプラットフォームのポインターベースのドラッグシステム。
  • ProceduralViewExample.cs.txt:「ホットバー/インベントリ」のデモ。流暢な構文の威力を示します。

使い方

1. パネルを構築する(流暢な方法)
var root = GetComponent<UIDocument>().rootVisualElement;
root.CreateChild<VisualElement>( "main-menu" )
    .WithClass( "menu--active" )
    .CreateChild<Button>( "menu__btn--start" )
    .text = "Start Game";
2. インタラクションを追加する
var window = root.Q( "inventory-window" );
window.AddManipulator( new DragManipulator() );

重要な原則

プロシージャルに構築する場合も、スタイリングには常にUSSクラスを使用してください。動的な計算(ヘルスバーなど)で必要な場合を除き、C#から.style.widthや色を直接設定するのは避けてください。

コメント