AIアシスタントから
Unity Editorを動かす。
MCP for UnityはModel Context Protocolを介して、Claude、Codex、VS Code、ローカルLLMなどのAIアシスタントとUnity Editorを接続します。アセット管理、シーン操作、スクリプト編集、 テスト実行、定型作業の自動化を自然言語から行えます。
https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#mainhttps://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#beta- MCPツール
- 48ツール
- 読み取り専用状態
- 25リソース
- 自動設定対応
- 22クライアント
- Unity対応範囲
- 2021.3 → 6.xLTS
仕組み
3つの層、2つの通信方式、1つのUnity Editorで構成されます。MCP クライアントはUnityへ直接接続せず、中間のPythonサーバーがルーティング、セッション分離、C# Editorプラグインとの通信を担当します。
MCP Client
Claude · Codex · VS Code · Cursor · local LLMs
Model Context Protocolを使用し、ツールとリソースを検出して要求を送り、結果を表示します。
Python Server
FastMCP + WebSocket hub
@mcp_for_unity_tool登録を自動検出し、client_idと選択中のUnityインスタンスに基づいてセッションごとにルーティングします。
Unity Editor Plugin
C# package · MCPForUnity
Unityのメインスレッドでコマンドを受け取り、Unity Editor APIを実行して構造化された結果を返します。
できること
Unity Editorを自然言語で操作
シーン、GameObject、スクリプト、アセット、Prefab、マテリアルを自然言語から操作できます。10グループ・48ツールでUnityの編集操作をMCPクライアントへ公開します。
ツールを見る複数のUnity Editorを1セッションから操作
複数のUnity Editorを同時に開き、1つのMCPセッションから対象を切り替えられます。呼び出し単位のルーティングとクライアント間のセッション分離に対応します。
ルーティングの仕組みHTTPとstdioに対応
マルチエージェント、リモート、共有環境にはHTTP。Claude Desktopのような単一クライアント構成にはstdio。用途に応じて利用で きます。
HTTPとstdioを比較必要なツールだけを有効化
animation、vfx、ui、testing、probuilderなどのツールをセッションごとに必要な時だけ有効化できます。プロンプトを小さく保ち、ルーティングを明確にします。
ツールグループレジストリから自動生成
ツールとリソースのページはPythonの@mcp_for_unity_toolレジストリから生成されます。実装とドキュメントの差分はCIで検出します。
ドキュメント生成カスタムツールを追加
C#属性と新しいドメインを追加すると、MCPクライアントから自動的に利用できます。プロジェクト単位・グローバルの両方に対応します。
カスタムツールAIアシスタントからUnity Editorを操作できる状態にする。
アカウント不要。テレメトリは既定で無効。MITライセンスのオープンソースです。
研究でMCP for Unityを使用する場合は、次の論文を引用してください。 MCP-Unity: Protocol-Driven Framework for Interactive 3D Authoring (Wu & Barnett, 2025).
@inproceedings{10.1145/3757376.3771417,
author = {Wu, Shutong and Barnett, Justin P.},
title = {MCP-Unity: Protocol-Driven Framework for Interactive 3D Authoring},
year = {2025},
isbn = {9798400721366},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3757376.3771417},
doi = {10.1145/3757376.3771417},
series = {SA Technical Communications '25}
}