| name | unity-api |
| description | Unity API の探索と実行。u api schema で検索、u api call で任意の public static メソッドを呼ぶ。
Use for: "Unity API 呼び出し", "u api call", "schema 検索", "CLI 非対応操作のフォールバック"
|
| license | MIT |
| compatibility | Requires `u` CLI (unity-cli) and active Unity Editor via Relay Server. |
| metadata | {"openclaw":{"category":"game-development","user-invocable":true,"requires":{"bins":["u"]},"cliHelp":"u api --help"}} |
unity-api
PREREQUISITE: ../unity-shared/SKILL.md(Relay Server 経由で Unity Editor が起動/アクティブであること)
skill 経由のコマンドは必ず -i <instance> を付ける (unity-shared #インスタンス指定)。--offline オプションのみ Relay 不要 = -i 不要。
メソッド検索
u -i <instance> api schema --type AssetDatabase
u -i <instance> api schema --namespace UnityEditor
u -i <instance> api schema --method Refresh
u api schema --offline --type PlayerSettings
メソッド呼び出し
u -i <instance> api call UnityEngine.Application get_unityVersion
u -i <instance> api call UnityEditor.AssetDatabase Refresh
u -i <instance> api call UnityEditor.AssetDatabase ImportAsset --params '["Assets/Prefabs/Player.prefab", 0]'
u -i <instance> api call UnityEditor.EditorApplication ExecuteMenuItem --params '["Window/General/Console"]'
よく使うパターン
| 用途 | コマンド |
|---|
| プロジェクト設定 | u -i <instance> api call UnityEditor.PlayerSettings get_productName |
| コンパイル状態 | u -i <instance> api call UnityEditor.EditorApplication get_isCompiling |
| アセット存在確認 | u -i <instance> api call UnityEditor.AssetDatabase AssetPathExists --params '["Assets/..."]' |
| フォルダ作成 | u -i <instance> api call UnityEditor.AssetDatabase CreateFolder --params '["Assets", "New"]' |
| メニュー実行 | u -i <instance> api call UnityEditor.EditorApplication ExecuteMenuItem --params '["Tools/..."]' |
制約
- static メソッドのみ
- 引数: プリミティブ, string, enum, プリミティブ配列
- UnityEngine / UnityEditor 名前空間のみ
- [Obsolete] メソッドは除外済み
既存コマンドとの使い分け
既存コマンド (u scene, u build 等) がある操作はそちらを使う。u api は既存コマンドがカバーしない操作のためのフォールバック。