mcpField
U
Unity MCP Integration

Unity MCP Integration

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

Unity MCP Integration について

Unity MCP Integration は、Model Context Protocol と Unity エディターを接続する統合パッケージです。AI アシスタントがシーンのヒエラルキー、ゲームオブジェクト、プロジェクトファイルを参照できます。Unity で開発する利用者を対象とし、C# のエディタープラグインと Node.js 製 MCP サーバーが WebSocket で通信します。

主な機能

  1. 01シーンのヒエラルキーとゲームオブジェクト情報の取得
  2. 02Unity エディターでの C# コードの実行
  3. 03Unity コンソールログの取得とフィルタリング
  4. 04エディターのプレイモードの制御
  5. 05プロジェクトファイルの読み取り、編集、検索

活用シーン

  1. 01現在のシーン構成を AI アシスタントに把握させる
  2. 02AI アシスタントを使ったスクリプトやアセットの検索と修正
  3. 03MCP デバッグウィンドウでの接続状態とログの確認

MCP 対応

本プロジェクトは TypeScript と Node.js で実装された MCP サーバーを含み、エディター、シーン、ログ、ファイル操作のツールを MCP クライアントに提供します。サーバーは WebSocket 経由で Unity プラグインにコマンドを中継します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🚀 高度な Unity MCP 統合

MCP smithery badge Unity Node.js TypeScript WebSockets

Stars Forks License

Unity MCP Inspector

このパッケージは、Model Context Protocol (MCP) と Unity Editor をシームレスに連携し、AI アシスタントが Unity プロジェクトをリアルタイムで理解し、操作できるようにします。この統合により、AI アシスタントはシーンの階層構造やプロジェクト設定に関する情報にアクセスし、Unity Editor のコンテキスト内でコードを直接実行できます。

📚 機能

  • プロジェクトファイルを直接参照、操作できます
  • Unity プロジェクトに関するリアルタイム情報にアクセスできます
  • シーンの階層構造とゲームオブジェクトを把握できます
  • Unity Editor で C# コードを直接実行できます
  • ログとエラーを監視できます
  • Editor のプレイモードを制御できます
  • コードの実行完了を待機できます

🚀 はじめに

前提条件
  • Unity 2021.3 以降
  • Node.js 18+(MCP サーバーの実行に必要)
インストール
1. Unity パッケージをインストールする

Unity パッケージは、いくつかの方法でインストールできます。

オプション A:Package Manager(Git URL)

  1. Unity Package Manager(Window > Package Manager)を開きます
  2. + ボタンをクリックし、Add package from git URL... を選択します
  3. リポジトリ URL を入力します:https://github.com/quazaai/UnityMCPIntegration.git
  4. Add をクリックします

オプション B:カスタムパッケージをインポートする

  1. このリポジトリをクローンするか、unityPackage としてダウンロードします
  2. Unity で Assets > Import Package > Custom Package に移動します
  3. UnityMCPIntegration.unitypackage ファイルを選択します
2. MCP サーバーをセットアップする

MCP サーバーを実行する方法は 2 つあります。

オプション A:サーバーを直接実行する

  1. mcpServer (likely <path-to-project>\Library\PackageCache\com.quaza.unitymcp@d2b8f1260bca\mcpServer\) ディレクトリに移動します
  2. 依存関係をインストールします:
    npm install
    
  3. サーバーを実行します:
    node build/index.js
    

オプション B:MCP ホストの設定に追加する

Claude Desktop、カスタム実装などの MCP ホスト設定にサーバーを追加します

{
  "mcpServers": {
    "unity-mcp-server": {
      "command": "node",
      "args": [
        "path-to-project>\\Library\\PackageCache\\com.quaza.unitymcp@d2b8f1260bca\\mcpServer\\mcpServer\\build\\index.js"
      ],
      "env": {
        "MCP_WEBSOCKET_PORT": "5010"
      }
    }
  }
}
デモ動画

YouTube

Smithery 経由でインストールする

Smithery 経由で Claude Desktop 用の Unity MCP Integration を自動的にインストールするには:

npx -y @smithery/cli install @quazaai/unitymcpintegration --client claude
🔧 使用方法
デバッグと監視

Unity で MCP Debug ウィンドウを開くと、接続を監視し、機能をテストできます。

  1. Window > MCP Debug に移動します
  2. デバッグウィンドウを使って、次の操作を行います:
    • 接続状態を確認する
    • コードの実行をテストする
    • ログを表示する
    • イベントを監視する
利用可能なツール

Unity MCP 統合は、AI アシスタントに複数のツールを提供します。

Unity エディターツール
  • get_editor_state: Unity プロジェクトとエディターの状態に関する包括的な情報を取得します
  • get_current_scene_info: 現在のシーンに関する詳細情報を取得します
  • get_game_objects_info: シーン内の特定の GameObject に関する情報を取得します
  • execute_editor_command: Unity エディターで C# コードを直接実行します
  • get_logs: Unity コンソールログを取得してフィルタリングします
  • verify_connection: Unity エディターとのアクティブな接続があるかどうかを確認します
ファイルシステムツール
  • read_file: Unity プロジェクト内のファイルの内容を読み込みます
  • read_multiple_files: 複数のファイルを一度に読み込みます
  • write_file: 新しい内容でファイルを作成または上書きします
  • edit_file: 差分プレビュー付きで既存ファイルをターゲット指定して編集します
  • list_directory: ディレクトリ内のファイルとフォルダのリストを取得します
  • directory_tree: ディレクトリとファイルの階層ビューを取得します
  • search_files: 検索パターンに一致するファイルを見つけます
  • get_file_info: 特定のファイルまたはディレクトリのメタデータを取得します
  • find_assets_by_type: 特定のタイプのすべてのアセット (Material、Prefab など) を見つけます
  • list_scripts: プロジェクト内のすべての C# スクリプトのリストを取得します

ファイルパスは絶対パスまたは Unity プロジェクトの Assets フォルダを基準とした相対パスで指定できます。例えば、"Scenes/MyScene.unity" は <project>/Assets/Scenes/MyScene.unity" を指します。

アーキテクチャ

統合には 2 つの主要なコンポーネントがあります。

  1. Unity プラグイン (C#): Unity エディター内に存在し、エディター API へのアクセスを提供します
  2. MCP サーバー (TypeScript/Node.js): MCP プロトコルを実装し、Unity プラグインと通信します

これら間の通信は WebSocket を介して行われ、コマンドとデータの JSON メッセージを転送します。

ファイルシステムアクセス

Unity MCP 統合には、AI アシスタントが以下を行うことができる強力なファイルシステムツールが含まれています。

  • Unity プロジェクト内のファイルの参照、読み込み、編集
  • 新しいファイルとディレクトリの作成
  • 特定のファイルまたはアセットタイプの検索
  • プロジェクト構造の分析
  • 差分プレビュー付きのターゲット指定されたコード変更

すべてのファイル操作はセキュリティのために Unity プロジェクトディレクトリに制限されます。このシステムは絶対パスと相対パスの両方をインテリジェントに処理し、利便性のために常にプロジェクトの Assets フォルダを基準として解決します。

使用例:

  • ディレクトリリストを取得: list_directory(path: "Scenes")
  • スクリプトファイルを読み込み: read_file(path: "Scripts/Player.cs")
  • 設定ファイルを編集: edit_file(path: "Resources/config.json", edits: [{oldText: "value: 10", newText: "value: 20"}], dryRun: true)
  • すべてのマテリアルを検索: find_assets_by_type(assetType: "Material")

貢献

貢献を歓迎します。貢献方法は以下の通りです。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します (git checkout -b feature/amazing-feature)
  3. 変更を加えます
  4. 変更をコミットします (git commit -m 'Add some amazing feature')
  5. ブランチにプッシュします (git push origin feature/amazing-feature)
  6. プルリクエストを開きます
開発セットアップ

Unity 側:

  • Unity でプロジェクトを開きます
  • UnityMCPConnection/Editor ディレクトリの C# スクリプトを変更します

サーバー側:

  • mcpServer ディレクトリに移動します
  • 依存関係をインストールします: npm install
  • src ディレクトリ内の TypeScript ファイルを変更します
  • サーバーをビルドします: npm run build
  • サーバーを実行します: node build/index.js

ライセンス

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

サポート

問題が発生した場合、またはご質問がある場合は、GitHub リポジトリで Issue を報告してください。

コメント

MCP は初めてですか?

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

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