From unity-cli
Enforces common rules for unity-cli skills: mandatory -i instance flags, connection verification, post-change verify sequences (clear/refresh/poll/check errors), fallback orders, and security policies. Prerequisite for all unity-* skills.
npx claudepluginhub bigdra50/unity-cli --plugin unity-cliThis skill uses the workspace's default tool permissions.
全 unity-* スキルが従う共通ルール。
Guides unity-cli usage for Unity Editor automation: verifies installation, connects/switches instances, selects typed vs raw commands, troubleshoots setup.
Automates Unity Editor via UniCli: edit Assets/Packages files, compile C# code, run EditMode/PlayMode tests, modify GameObjects, scenes, prefabs, assets, build/project settings.
Automates Unity Editor from terminal via ucp CLI over WebSocket/JSON-RPC: scenes, GameObjects, assets, prefabs, builds, tests, packages, debugging. Use for headless project inspection, modification, and workflows.
Share bugs, ideas, or general feedback.
全 unity-* スキルが従う共通ルール。
unity-* スキル経由で u コマンドを呼ぶ際は 必ず -i <instance> を付ける。default インスタンスに依存しない。
u -i <instance> refresh # OK
u refresh # NG (skill 経由では使わない)
<instance> はユーザーから渡される or 親セッションが指定する値で置き換える。u instances で接続中 Unity 一覧を確認できる。本ドキュメント以下のサンプルでは <instance> をそのまま使うが、実行時は具体名 (例: TestProject) に置換する。
理由: 複数 Unity 接続環境で誤ったインスタンスへコマンドを送るリスクと、subagent 間の挙動を default 依存にしないため。
u instances # 接続中 Unity 一覧
u -i <instance> state # 特定エディタの状態
接続不可時: unity-relay --port 6500 で Relay 起動。
コード変更後に毎回実行する検証シーケンス。順序厳守 (clear は refresh の前に置く。後にすると refresh の診断ログを消してしまう)。
# 1. 既存ログをクリア (refresh の診断を残すため refresh の前)
u -i <instance> console clear
# 2. AssetDatabase リフレッシュ (コンパイルトリガー)
u -i <instance> refresh
# 3. isCompiling が false になるまでポーリング (2秒間隔, 最大30秒)
for _ in $(seq 1 15); do
u -i <instance> state --json | jq -e '.isCompiling == false' >/dev/null && break
sleep 2
done
# 4. Error/Warning 取得 (--count は deprecated. head -N を使う)
u -i <instance> console get -l E,W | head -50
u state --json の出力例 (抜粋, キーはトップレベル):
{"isCompiling": false, "isPlaying": false, "isPaused": false}
Unity はインクリメンタルコンパイルのため、ソース未変更で refresh を呼んでも再コンパイルは走らず、過去の Warning は再出力されない。console clear 後に空が返っても以下のいずれかを意味する:
直前にソース編集があった文脈なら「クリーン」扱いで OK。過去の警告を確実に確認したい場合は対象ファイルの touch (touch Assets/.../Foo.cs) で mtime を更新してから refresh するか、Library/ScriptAssemblies/ をクリアする。
CLI 非対応の操作を行う場合:
1. u -i <instance> <既存コマンド> 最優先
2. u -i <instance> api call Type Method 5,243 メソッド対応
3. YAML 直接編集 最終手段 (.meta インポート設定等)
u api call は UnityEngine / UnityEditor のみ許可