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で実行できます。


クイックスタート(ターミナルのみ)

  1. CLIのインストール – curl … | sh(macOS/Linux)またはPowerShellのirm … | iex。uloop -vで確認。
  2. Unityパッケージの追加 – プロジェクトルートでuloop package installを実行。OpenUPMレジストリエントリとio.github.hatayama.uloopmcp依存関係を注入します。
  3. Unityの起動 – uloop launch(実行中のエディタをフォーカスするか、新しいエディタを起動)。
  4. 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支援によるゲーム開発ループを実用的かつ再現可能にします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト