$npx -y skills add bigdra50/unity-cli --skill unity-apiUnity API の探索と実行。u api schema で検索、u api call で任意の public static メソッドを呼ぶ。 Use for: "Unity API 呼び出し", "u api call", "schema 検索", "CLI 非対応操作のフォールバック
| 1 | # unity-api |
| 2 | |
| 3 | > **PREREQUISITE:** `../unity-shared/SKILL.md`(Relay Server 経由で Unity Editor が起動/アクティブであること) |
| 4 | > |
| 5 | > skill 経由のコマンドは必ず `-i <instance>` を付ける (unity-shared #インスタンス指定)。`--offline` オプションのみ Relay 不要 = `-i` 不要。 |
| 6 | |
| 7 | ## メソッド検索 |
| 8 | |
| 9 | ```bash |
| 10 | u -i <instance> api schema --type AssetDatabase # 型名でフィルタ |
| 11 | u -i <instance> api schema --namespace UnityEditor # 名前空間でフィルタ |
| 12 | u -i <instance> api schema --method Refresh # メソッド名で検索 |
| 13 | u api schema --offline --type PlayerSettings # キャッシュから (Relay 不要なので -i 不要) |
| 14 | ``` |
| 15 | |
| 16 | ## メソッド呼び出し |
| 17 | |
| 18 | ```bash |
| 19 | u -i <instance> api call UnityEngine.Application get_unityVersion |
| 20 | u -i <instance> api call UnityEditor.AssetDatabase Refresh |
| 21 | u -i <instance> api call UnityEditor.AssetDatabase ImportAsset --params '["Assets/Prefabs/Player.prefab", 0]' |
| 22 | u -i <instance> api call UnityEditor.EditorApplication ExecuteMenuItem --params '["Window/General/Console"]' |
| 23 | ``` |
| 24 | |
| 25 | ## よく使うパターン |
| 26 | |
| 27 | | 用途 | コマンド | |
| 28 | |------|---------| |
| 29 | | プロジェクト設定 | `u -i <instance> api call UnityEditor.PlayerSettings get_productName` | |
| 30 | | コンパイル状態 | `u -i <instance> api call UnityEditor.EditorApplication get_isCompiling` | |
| 31 | | アセット存在確認 | `u -i <instance> api call UnityEditor.AssetDatabase AssetPathExists --params '["Assets/..."]'` | |
| 32 | | フォルダ作成 | `u -i <instance> api call UnityEditor.AssetDatabase CreateFolder --params '["Assets", "New"]'` | |
| 33 | | メニュー実行 | `u -i <instance> api call UnityEditor.EditorApplication ExecuteMenuItem --params '["Tools/..."]'` | |
| 34 | |
| 35 | ## 制約 |
| 36 | |
| 37 | - static メソッドのみ |
| 38 | - 引数: プリミティブ, string, enum, プリミティブ配列 |
| 39 | - UnityEngine / UnityEditor 名前空間のみ |
| 40 | - [Obsolete] メソッドは除外済み |
| 41 | |
| 42 | ## 既存コマンドとの使い分け |
| 43 | |
| 44 | 既存コマンド (`u scene`, `u build` 等) がある操作はそちらを使う。`u api` は既存コマンドがカバーしない操作のためのフォールバック。 |