mcpField
U
Unity Code

Unity Code

ローカル
github.com/hackerzhuli開発ツール1134 週間前に更新

Unity Code について

Unity Code MCPは、コーディングエージェント向けにUnity Editorでのコンパイルとテストを実行するMCPサーバーです。コンパイル結果とテスト実行に絞り、Unityコードの反復開発を支援します。

主な機能

  1. 01アセットデータベースの更新とコンパイル
  2. 02コンパイルエラーとログの確認
  3. 03EditMode・PlayModeテストの実行
  4. 04失敗時のスタックトレースとレポート
  5. 05Rust製の単一バイナリ

活用シーン

  1. 01Unityコードのコンパイル確認
  2. 02コンパイルエラーに基づくコード修正
  3. 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 にコンパイルエラーの修正を指示します。 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 しか使用していないため、他のプラットフォーム向けにビルドやテストを行えません。プラットフォーム固有のバグがある場合は、ご自身で修正してください。

🧪 開発とテスト

テストの実行

テストスイートを実行するには:

  1. 埋め込みテストプロジェクトを使用して Unity Editor を起動します:

    # Open Unity Editor and load the project at:
    # ./UnityProject
    
  2. テストを実行します(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

🤝 コントリビューション

コントリビューションを歓迎します。以下の手順に従ってください。

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. cargo test -- --test-threads=1 でテストを実行します
  4. プルリクエストを送信します

📄 ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。

🔗 関連プロジェクト

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。