unity-ui-procedural について
C#でUIを手続き的に構築するUnity UI Toolkitスキルです。UXMLファイルを使わず、メソッドチェーンによる要素構築、再利用可能なポインターマニピュレーター、USSクラスによるスタイル設定を行えます。
主な機能
- 01メソッドチェーンでのUIツリー構築
- 02再利用可能なポインターマニピュレーター
- 03UXML不要の手続き型UI
- 04USSクラスによるスタイル設定
活用シーン
- 01動的なインベントリ画面の構築
- 02要素へのドラッグ操作の追加
- 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.txtProceduralViewExample.cs.txtUIToolkitExtensions.cs.txt詳細
Unity UI ToolkitによるプロシージャルUI
すべてコードで、非常に高速かつ動的なユーザーインターフェースを構築します。このスキルは「ロジックファースト」なUIワークフローを実現し、インベントリ、ツールチップ、動的なHUDなどの複雑なシステムに最適です。
主な機能
- 流暢な階層構築:
.CreateChild<T>()や.WithClass()などの拡張メソッドをチェーンして、ドキュメントのように読みやすいUIツリーを構築します。 - 汎用ポインターマニピュレーター:
ManipulatorAPIを使って、操作ロジック(ドラッグ、リサイズ、選択)をビジュアルから分離します。 - ビルダー不要のワークフロー:複雑なUXMLファイルが不要になり、UIをバージョン管理しやすく、プロシージャルに拡張できるようになります。
- 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や色を直接設定するのは避けてください。
コメント
Markdown 対応