Unity Code について
Unity Code MCPは、コーディングエージェント向けにUnity Editorでのコンパイルとテストを実行するMCPサーバーです。コンパイル結果とテスト実行に絞り、Unityコードの反復開発を支援します。
主な機能
- 01アセットデータベースの更新とコンパイル
- 02コンパイルエラーとログの確認
- 03EditMode・PlayModeテストの実行
- 04失敗時のスタックトレースとレポート
- 05Rust製の単一バイナリ
活用シーン
- 01Unityコードのコンパイル確認
- 02コンパイルエラーに基づくコード修正
- 03EditMode・PlayModeテストの実行
MCP 対応
MCPサーバーは、アセットデータベースの更新とテスト実行のツールをAIエージェントに公開し、Unity Editorでのコンパイルとテストを可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Unity Code MCP
説明
Unity Code MCP は、AI エージェントが自律的に Unity コードを作成できるようにする、コーディングに特化した Model Context Protocol(MCP)サーバーです。
🎯 なぜ Unity Code MCP なのか?
Unity Code MCP は、Rust で構築された高性能なコーディング特化型 MCP サーバーです。Unity のコンパイルサイクルを適切に処理しながら、自律的なコード開発に必要な基本ツールであるコンパイル結果のフィードバックとテストの実行だけを提供します。
この MCP サーバーを使うと、AI エージェントは優れた速度と信頼性で自律的に Unity コードを開発できます。人間と同じように、コードを書き、コンパイルし、コンパイルエラーを修正し、テストを実行し、バグを修正するというサイクルを繰り返します。
✨ 主な機能
- 🤖 コーディングに最適化:AI エージェントの効率的なコーディングワークフローを実現する、無駄のないツールを用意しています
- ⚡ 軽量かつ高性能:Rust で構築されており、優れた速度、最小限のメモリ使用量、非常に高速な応答時間を実現します。ワークスペースが Unity プロジェクトでない場合は 1MB、Unity プロジェクトであり、プロジェクトの Unity Editor が開いている場合は 10MB のメモリしか使用しません。また、Unity Editor との通信には UDP を使用するため、システムへの負荷も最小限です。
- 🎯 効率的な通信:必要な操作だけに絞ることでトークン使用量を抑え、関連情報のみを返します
- 🧪 テスト駆動:包括的なテスト実行機能とレポート機能を備えています
- 📦 単体で動作:ランタイム依存関係がない単一バイナリです(Node.js、Python、.NET は不要です)
🛠️ MCP サーバーのツール
Unity Code MCP は、自律的なコード開発のために 2 つのツールを提供します。
1. アセットデータベースの更新
- Unity のコンパイルとアセット処理を実行します
- コンパイルエラーと、コンパイル以外の警告およびエラーを返します。更新中のログのみが含まれます
- ドメインのリロードを適切に処理します
アセットデータベース更新ツールの動作例:

2. テストの実行
- Unity のテストを実行し、包括的なレポートを作成します
- 失敗したテストの詳細なスタックトレースとログを提供します
- EditMode テストと PlayMode テストの両方に対応しています
テスト実行ツールの動作例:

🚀 自律型 AI エージェントのワークフロー例
設定が完了すると、AI エージェントは Unity コードを完全に自律的に開発できます。
User: "Create a player controller that moves with WASD keys and has jump functionality. Make sure it's fully tested."
AI: I'll create a complete player controller with movement and jumping, then write comprehensive tests.
1. [AI writes PlayerController.cs with movement logic]
2. [AI calls: refresh_asset_database]
→ Result: "Compilation failed: CS0246: The type or namespace name 'Rigidbody' could not be found"
3. [AI fixes the missing using UnityEngine; statement]
4. [AI calls: refresh_asset_database]
→ Result: "Compilation successful, no errors"
5. [AI writes PlayerControllerTests.cs with movement and jump tests]
6. [AI calls: run_tests]
→ Result: "5 tests passed, 2 tests failed: NullReferenceException in Jump_ShouldApplyUpwardForce, ArgumentException in Move_WithInvalidInput"
7. [AI analyzes failures and fixes null reference and input validation bugs]
8. [AI calls: refresh_asset_database]
→ Result: "Compilation successful, no errors"
9. [AI calls: run_tests]
→ Result: "All 7 tests passed successfully"
AI: ✅ Complete! Created a fully functional PlayerController with WASD movement, jump mechanics, and comprehensive test coverage. All tests are passing.
これは、ユーザーの依頼から、テスト済みで動作する Unity コードの完成まで、人間の介入を一切必要としない真の自律開発を示しています。
AI エージェントの動作例。Unity プロジェクトのコンテキストを与えずに、Kimi K2 にコンパイルエラーの修正を指示します。

📦 インストール
前提条件
- Unity 6.0 以降
- Rust ツールチェーン(ソースからビルドする場合)
- CMake と C コンパイラー(依存関係のビルドに必要)
手順 1:Unity パッケージをインストールする
Unity プロジェクトに Visual Studio Code Editor パッケージをインストールします。
重要:unity_code_mcp を動作させるには、Visual Studio Code Editor パッケージを有効にする必要があります(有効にするには、Visual Studio Code Editor が提供する外部スクリプトエディターを選択する必要があります)。Unity の
Preferences→External Tools→External Script Editorで確認してください。「Visual Studio Code Editor v1.0.12 enabled」のように表示されます。
手順 2:バイナリを入手する
オプション A:リリースをダウンロードする(推奨)(Windows のみ)
- Releases ページから最新のバイナリをダウンロードします
オプション B:ソースからビルドする
cargo build --release
ステップ 3:AI アシスタントを設定する
MCP サーバーを AI アシスタントの設定に追加します。
Cursor/Trae の場合:
{
"mcpServers": {
"unity-code": {
"command": "/path/to/unity-code-mcp",
"env": {
"UNITY_PROJECT_PATH": "${workspaceFolder}"
}
}
}
}
MCP Extension を使用する VS Code の場合:
{
"mcp.servers": {
"unity-code": {
"command": "/path/to/unity_code_mcp",
"env": {
"UNITY_PROJECT_PATH": "${workspaceFolder}"
}
}
}
}
Claude Desktop の場合:
{
"mcpServers": {
"unity-code": {
"command": "/path/to/unity_code_mcp"
}
}
}
注:環境変数
UNITY_PROJECT_PATHはフォールバックとして使用できます。IDE が MCP のroots機能に対応している場合、サーバーは指定されたワークスペースのルートから Unity プロジェクトを自動的に検出し、環境変数よりも優先します。
トラブルシューティング:IDE で
${workspaceFolder}が機能しない場合は、代わりに絶対パスを指定してください。例:"UNITY_PROJECT_PATH": "/absolute/path/to/your/unity/project"。または、IDE の開発者に MCP のroots機能への対応を依頼してください。
重要:バイナリコマンドには絶対パスを使用してください。
プラットフォーム対応
コードはクロスプラットフォームですが、私は Windows しか使用していないため、他のプラットフォーム向けにビルドやテストを行えません。プラットフォーム固有のバグがある場合は、ご自身で修正してください。
🧪 開発とテスト
テストの実行
テストスイートを実行するには:
-
埋め込みテストプロジェクトを使用して Unity Editor を起動します:
# Open Unity Editor and load the project at: # ./UnityProject -
テストを実行します(Unity の競合を避けるため、シングルスレッドで実行してください):
cargo test -- --test-threads=1
注:テストには、埋め込みプロジェクトを読み込んだ状態で Unity Editor が起動している必要があります。Unity Editor とのやり取りがあるため、テストの完了には 30~60 秒かかる場合があります。
ソースからのビルド
前提条件
- C コンパイラ:
aws-lc-rs依存関係のビルドに必要です- Windows:MSVC(Visual Studio Build Tools)
- macOS:Xcode Command Line Tools(
xcode-select --install) - Linux:GCC(Ubuntu/Debian では
sudo apt-get install build-essential)
- CMake:
aws-lc-rs依存関係のビルドに必要です- Windows:公式ガイドに従ってください
- macOS:
brew install cmake - Linux:
sudo apt-get install cmake(Ubuntu/Debian)
ビルドコマンド
# Debug build
cargo build
# Release build (recommended for production)
cargo build --release
🤝 コントリビューション
コントリビューションを歓迎します。以下の手順に従ってください。
- リポジトリをフォークします
- 機能ブランチを作成します
cargo test -- --test-threads=1でテストを実行します- プルリクエストを送信します
📄 ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
🔗 関連プロジェクト
- Unity 向け Visual Studio Code Editor - 必須の Unity パッケージ
- Model Context Protocol - プロトコル仕様
- Unity Code Pro VS Code Extension - 関連する VS Code 拡張機能
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。