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 # キャッシュから (Relay 不要なので -i 不要)
メソッド呼び出し
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 は既存コマンドがカバーしない操作のためのフォールバック。