local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Allows AI assistants to interact with Unity projects, providing tools to execute menu items and perform operations within the Unity Editor.
MCP Unity エディター (ゲームエンジン)
英語 | 🇨🇳簡体字中国語 | 🇯🇵日本語 |
---|
MCP Unityは、Unityエディター向けのモデルコンテキストプロトコル(MCP)の実装であり、AIアシスタントがUnityプロジェクトと連携できるようにします。このパッケージは、UnityとMCPプロトコルを実装したNode.jsサーバー間のブリッジを提供し、Claude、Windsurf、CursorなどのAIエージェントがUnityエディター内で操作を実行できるようにします。
特徴
IDE統合 - パッケージキャッシュアクセス
MCP Unityは、Unity Library/PackedCache
フォルダをワークスペースに追加することで、VSCode系IDE(Visual Studio Code、Cursor、Windsurf)との自動統合を実現します。この機能は以下のとおりです。
- Unity パッケージのコードインテリジェンスを向上
- Unity パッケージの自動補完と型情報の改善
- AIコーディングアシスタントがプロジェクトの依存関係を理解するのに役立ちます
MCP サーバーツール
execute_menu_item
: Unity メニュー項目 (MenuItem 属性でタグ付けされた関数) を実行します。プロンプトの例: 「新しい空のゲームオブジェクトを作成するには、メニュー項目「GameObject/Create Empty」を実行します。」
select_gameobject
: パスまたはインスタンスIDでUnity階層内のゲームオブジェクトを選択します。プロンプトの例: 「シーン内のメインカメラオブジェクトを選択してください」
update_component
: GameObjectのコンポーネントフィールドを更新するか、コンポーネントが含まれていない場合はGameObjectに追加します。例のプロンプト: 「Player オブジェクトに Rigidbody コンポーネントを追加し、その質量を 5 に設定します」
add_package
: Unity パッケージマネージャーに新しいパッケージをインストールしますプロンプトの例: 「TextMeshPro パッケージをプロジェクトに追加する」
run_tests
: Unity Test Runnerを使用してテストを実行しますプロンプトの例: 「プロジェクト内のすべての EditMode テストを実行します」
notify_message
: Unity エディターにメッセージを表示しますプロンプトの例: 「タスクが完了したことを Unity に通知する」
add_asset_to_scene
: AssetDatabase から Unity シーンにアセットを追加しますプロンプトの例: 「プロジェクトから現在のシーンに Player プレハブを追加します」
MCP サーバー リソース
unity://menu-items
: Unity エディターで利用可能なすべてのメニュー項目のリストを取得し、execute_menu_item
ツールを実行します。プロンプトの例: 「ゲームオブジェクトの作成に関連する利用可能なすべてのメニュー項目を表示します」
unity://hierarchy
: Unity階層内のすべてのゲームオブジェクトのリストを取得しますプロンプトの例: 「現在のシーンの階層構造を表示してください」
unity://gameobject/{id}
: インスタンスIDまたはシーン階層内のオブジェクトパスによって特定のゲームオブジェクトの詳細情報を取得します。これには、シリアル化されたプロパティとフィールドを持つすべてのゲームオブジェクトのコンポーネントが含まれます。プロンプトの例: 「Player GameObject の詳細情報を取得してください」
unity://logs
: Unityコンソールからすべてのログのリストを取得しますプロンプトの例: 「Unity コンソールからの最近のエラー メッセージを表示してください」
unity://packages
: Unity パッケージマネージャーからインストール済みおよび利用可能なパッケージに関する情報を取得します。プロンプトの例: 「Unity プロジェクトに現在インストールされているすべてのパッケージを一覧表示する」
unity://assets
: Unity Asset Database内のアセットに関する情報を取得しますプロンプトの例: 「プロジェクト内のすべてのテクスチャアセットを検索する」
unity://tests/{testMode}
: Unity Test Runner 内のテストに関する情報を取得します。プロンプトの例: 「Unity プロジェクトで利用可能なすべてのテストを一覧表示する」
要件
- Unity 2022.3以降 -サーバーをインストールする
- Node.js 18以降 -サーバーを起動するため
- npm 9以降 -サーバーのデバッグ
インストール
この MCP Unity サーバーのインストールは、複数のステップから成るプロセスです。
ステップ1: Unityパッケージマネージャー経由でUnity MCPサーバーパッケージをインストールする
- Unity パッケージ マネージャーを開きます (ウィンドウ > パッケージ マネージャー)
- 左上隅の「+」ボタンをクリックします
- 「git URL からパッケージを追加...」を選択します
- 入力してください:
https://github.com/CoderGamester/mcp-unity.git
- 「追加」をクリック
ステップ2: Node.jsをインストールする
MCP Unity サーバーを実行するには、コンピューターに Node.js 18 以降がインストールされている必要があります。
- Node.jsのダウンロードページにアクセスしてください
- LTS バージョンの Windows インストーラー (.msi) をダウンロードします (推奨)
- インストーラーを実行し、インストールウィザードに従います。
- PowerShell を開いて次のコマンドを実行し、インストールを確認します。Copy
- Node.jsのダウンロードページにアクセスしてください
- LTS バージョンの macOS インストーラー (.pkg) をダウンロードします (推奨)
- インストーラーを実行し、インストールウィザードに従います。
- あるいは、Homebrew がインストールされている場合は、次のコマンドを実行できます。Copy
- ターミナルを開いて次のコマンドを実行し、インストールを確認します。Copy
ステップ3: AI LLMクライアントを構成する
- Unityエディターを開く
- ツール > MCP Unity > サーバーウィンドウに移動します
- 下の画像に示すように、AI LLMクライアントの「構成」ボタンをクリックします。
- 表示されたポップアップで設定のインストールを確認します
Smithery経由で MCP Unity をインストールするには:
AI クライアントの MCP 構成ファイル (例: Claude Desktop の claude_desktop_config.json) を開き、次のテキストをコピーします。
ABSOLUTE/PATH/TO
MCP Unity インストールへの絶対パスに置き換えるか、Unity エディターの MCP サーバー ウィンドウ ([ツール] > [MCP Unity] > [サーバー ウィンドウ]) からテキストをコピーします。
UnityエディターMCPサーバーを起動する
- Unityエディターを開く
- ツール > MCP Unity > サーバーウィンドウに移動します
- 「サーバーを起動」をクリックしてWebSocketサーバーを起動します
- Claude Desktop または AI コーディング IDE (例: Cursor IDE、Windsurf IDE など) を開き、Unity ツールの実行を開始します。
AIクライアントがWebSocketサーバーに接続すると、ウィンドウの緑色のボックスに自動的に表示されます。
オプション: WebSocketポートの設定
デフォルトでは、WebSocket サーバーはポート 8090 で実行されます。このポートは 2 つの方法で変更できます。
- Unityエディターを開く
- ツール > MCP Unity > サーバーウィンドウに移動します
- 「WebSocketポート」の値を希望のポート番号に変更します。
- Unityはシステム環境変数UNITY_PORTを新しいポート番号に設定します。
- Node.jsサーバーを再起動します
- 「Start Server」をもう一度クリックして、Unity エディターの Web ソケットを Node.js MCP サーバーに再接続します。
- ターミナルでUNITY_PORT環境変数を設定する
- Powershell GXP7
- コマンドプロンプト/ターミナル GXP8
- Node.jsサーバーを再起動します
- 「Start Server」をもう一度クリックして、Unity エディターの Web ソケットを Node.js MCP サーバーに再接続します。
サーバーのデバッグ
MCP UnityサーバーはNode.jsを使用して構築されています。 build
ディレクトリでTypeScriptコードをJavaScriptにコンパイルする必要があります。サーバーをビルドするには、ターミナルを開き、以下のコマンドを実行してください。
- サーバー ディレクトリに移動します。Copy
- 依存関係をインストールします:Copy
- サーバーを構築します。Copy
- サーバーを実行します。Copy
@modelcontextprotocol/inspectorを使用してサーバーをデバッグします。
- パワーシェル
- コマンドプロンプト/ターミナル
ターミナルを閉じる前、またはMCP Inspectorでデバッグする前に、必ずCtrl + C
でサーバーをシャットダウンしてください。
- ターミナルまたは log.txt ファイルへのログ記録を有効にします。
- Powershell GXP15
- コマンドプロンプト/ターミナル GXP16
トラブルシューティング
- WebSocket サーバーが実行中であることを確認します (Unity のサーバー ウィンドウを確認します)
- 接続をブロックするファイアウォール制限がないか確認してください
- ポート番号が正しいことを確認してください(デフォルトは8080です)
- Unity エディターの MCP サーバー ウィンドウでポート番号を変更します。(ツール > MCP Unity > サーバー ウィンドウ)
- Unityコンソールでエラーメッセージを確認してください
- Node.jsが正しくインストールされ、PATHでアクセスできることを確認してください。
- すべての依存関係がサーバーディレクトリにインストールされていることを確認します
- メニュー項目のパスが正しいことを確認します(大文字と小文字が区別されます)
- メニュー項目に確認が必要かどうかを確認する
- メニュー項目が現在のコンテキストで使用可能であることを確認します
サポートとフィードバック
ご質問がある場合やサポートが必要な場合は、このリポジトリで問題を報告してください。
他に連絡できる方法:
- リンクトイン:
- 不和: gamester7178
- メールアドレス: game.gamester@gmail.com
貢献
貢献を歓迎します!お気軽にプルリクエストを送信したり、リクエストを添えて Issue を開いてください。
Conventional Commits形式に従って変更をコミットします。
ライセンス
このプロジェクトはMITライセンスの下にあります
謝辞
You must be authenticated.
MCP Unity サーバーは、Unity エディター ゲーム エンジンをさまざまな AI モデル クライアント (Claude Desktop、Windsurf、Cursor など) と統合します。
- Features
- Requirements
- <a name="install-server"></a>Installation
- <a name="start-server"></a>Start Unity Editor MCP Server
- Optional: Set WebSocket Port
- <a name="debug-server"></a>Debugging the Server
- Troubleshooting
- Support & Feedback
- Contributing
- License
- Acknowledgements