Unity CLI:ターミナルファーストのツールとAIエージェント向けライブC# REPL
Unityは、エディター、プロジェクト、認証をターミナルから管理するためのスタンドアロンCLIと、実行中のEditorまたはPlayerをプログラム可能な自動化ターゲットに変え、ライブC#評価を可能にする実験的なPipelineパッケージをリリースした。
Unityは、開発者がUnity HubのUIを必要とせずに、エディター、モジュール、プロジェクト、認証をすべてターミナルから管理できるスタンドアロンCLIバイナリをリリースした。このCLIはcurlまたはPowerShellでインストールできる単一の自己完結型バイナリで、構造化されたJSON/TSV出力をサポートし、CIパイプライン向けに予測可能な終了コード(0、1、130)を使用する。また、環境変数によるサービスアカウント認証も処理するため、ヘッドレスビルドエージェントに適している。
CLIの機能
unityコマンドは、従来のUnity Hubヘッドレスパス(--headless)を、より高速に起動するネイティブバイナリに置き換える。特定のモジュールを指定してエディターを1行でインストールできる:
unity install 6000.2.10f1 -m android ios webglその他のコマンドには、インストール済みバージョンを一覧表示するunity editors、正しいエディターでプロジェクトを起動するunity open、認証用のunity auth loginがある。unity doctorコマンドは環境と認証情報の問題を診断する。
Pipelineパッケージで実行中のEditorを操作する
実験的なcom.unity.pipelineパッケージ(Unity 6.0 LTS以降)を使用すると、CLIがローカルAPIを介して実行中のEditorまたは開発用Playerビルドと通信できる。unity pipeline installでインストールすると、[CliCommand]で装飾された任意の静的メソッドがターミナルから呼び出し可能なコマンドになる:
unity command greet --name Worldこのパッケージは、--runtime <player exec name>でCLIを実行中のPlayerビルドに向けることもサポートしており、ライブログクエリ、ランタイムステータスチェック、開発ビルドでのコードのホットリロードを可能にする。
ライブC#評価
キラーフィーチャーはunity command evalで、Roslynを使用して実行中のEditorまたはPlayer内で任意のC#式をコンパイルして実行し、ミリ秒単位で結果を返す。再コンパイルやドメインリロードは不要:
unity command eval "return Application.version;"
unity command eval "return UnityEditor.EditorApplication.isPlaying;" --json評価は悪用を防ぐためにセキュリティトークンで保護されている。
AIエージェントの基盤
CLIとPipelineパッケージを組み合わせることで、AIエージェントに強力なフィードバックループを提供する。プロジェクトを開き、シーンを検査し、変更を適用し、テストを実行し、Playモードに入り、結果を検証する——すべて人間の介入なしで。構造化されたJSON出力と自己記述的なコマンドリストにより、関数呼び出しモデルやMCPサーバーが自然に利用できる。
CLIはエージェントが理解する言語を話す:構造化されたJSONと予測可能な終了コードの契約により、モデルはスクレイピングされたコンソールテキストではなく、クリーンで解析可能な結果を得る。
出典: Unity