hatayama/unity-cli-loop
Let AI Drive Unity, from Editor to Play Mode.
Unity CLI Loop – コマンドラインからのAI駆動型Unity開発
概要 – Unityパッケージと小規模なクロスプラットフォームCLI(uloop)で構成され、大規模言語モデルエージェント(Claude Code、Codexなど)が、人間がエディタを操作することなく、Unityプロジェクトのコンパイル、テスト、編集、制御を可能にします。これは、プロジェクトごとに「ランナー」をインストールし、Unityエディタ内のIPCサーバーと通信して、一連のスキル(例:/uloop-compile、/uloop-screenshot、/uloop-pause-point)を公開することで機能します。
重要性 – 通常のUnityワークフローでは、開発者がエディタを開き、ビルドをクリックし、テストを実行し、ログを読み、シーンを手動で調整する必要があります。Unity CLI Loopは、最も一般的な手順をLLMが呼び出せるCLIコマンドにまとめ、完全に自動化された開発ループ(コンパイル→テスト実行→ログ読み取り→実行一時停止→コードのホットリロード→スクリーンショットによるUI検証)を言語モデルのプロンプトだけで実現します。
主要機能(バンドルされた21のスキル)
| カテゴリ | スキル(例) |
|---|---|
| 開発ループ | compile、run-tests、get-logs、clear-console、hot-reload、pause-point |
| エディタ自動化 | launch、focus-window、get-hierarchy、find-game-objects、execute-dynamic-code、screenshot、set-game-view-size、record-video |
| PlayModeテスト | simulate-mouse-ui、simulate-mouse-input、simulate-keyboard、replay-input、control-play-mode |
これらのツールは意図的に最小限に抑えられています。他のほとんどのエディタ操作は、実行中のUnityプロセス内で任意のC#スニペットを実行するexecute-dynamic-codeで実行できます。
クイックスタート(ターミナルのみ)
- CLIのインストール –
curl … | sh(macOS/Linux)またはPowerShellのirm … | iex。uloop -vで確認。 - Unityパッケージの追加 – プロジェクトルートで
uloop package installを実行。OpenUPMレジストリエントリとio.github.hatayama.uloopmcp依存関係を注入します。 - Unityの起動 –
uloop launch(実行中のエディタをフォーカスするか、新しいエディタを起動)。 - LLMスキルのインストール – 例:Claude Codeの場合は
uloop skills install --claude、.agents/skillsを読み取るツールの場合は--agents。
同じ手順は、Unity UIからWindow > Package ManagerおよびWindow > Unity CLI Loop > Settingsで実行できます。
LLMの使用方法
LLMはスキルコマンドをシェル命令として送信します。プロンプトからスキルへのマッピング例:
- 「プロジェクトをコンパイルしてエラーを教えて」 →
/uloop-compile - 「単体テストを実行して失敗ログを教えて」 →
/uloop-run-tests+/uloop-get-logs - 「
Player.csの42行目で一時停止して変数の値を表示して」 →/uloop-pause-point - 「プレイヤーがスポーンした後のGameビューのスクリーンショットを撮って」 →
/uloop-screenshot - 「完全な再コンパイルなしでこのメソッド本体の修正を適用して」 →
/uloop-hot-reload
CLIはUnixドメインソケット(macOS/Linux)または名前付きパイプ(Windows)で通信するため、ネットワークポートは不要で、複数のUnityインスタンスを共存させることができます。
ツールセットの拡張
開発者は、プロジェクトにSkill/SKILL.mdファイル(またはシェルスクリプト/C#スニペット)を配置することで、カスタムスキルを追加できます。CLIは起動時にこれらを読み込み、スキルディレクトリにアクセスできるLLMは、組み込みのスキルと同様にそれらを呼び出すことができます。
インストールに関する注意事項と互換性
- Unity 2022.3+ が必要です。
- シェルコマンドを実行してスキルファイルを読み取れるLLM(Claude Code、Codexなど)と互換性があります。
- Claude Codeの場合、サンドボックスは
uloop *コマンドを除外する必要があります(READMEのsandbox.excludedCommandsの例を参照)。 - V3ではNode.jsは不要です。プロジェクトごとのランナーは自動的にダウンロードされ、
.uloop/project-runner-pin.jsonでバージョンが固定されます。
ライセンス
MIT – 自由に使用、変更、再配布できます。
結論 – Unity CLI Loopは、Unityエディタをヘッドレスでスクリプト可能なサービスに変え、LLMエージェントが駆動できるようにし、AI支援によるゲーム開発ループを実用的かつ再現可能にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト