Skip to main content
Glama

Unity MCP(サーバー + プラグイン)

オープンアップライセンス ウクライナと共に立ち上がろう

画像

Unityバージョン

編集モード

プレイモード

スタンドアロン

2022.3.61f1

2022.3.61f1

2022.3.61f1

2022.3.61f1

2023.2.20f1

2023.2.20f1

2023.2.20f1

2023.2.20f1

6000.0.46f1

6000.0.46f1

6000.0.46f1

6000.0.46f1

**Unity-MCP**はLLMとUnityをつなぐ架け橋です。LLMにUnityのツールを公開し、解説します。LLMはインターフェースを理解し、ユーザーの要求に応じてツールを活用します。

統合されたAI Connectorウィンドウを使用して、 Unity-MCPをClaudeCursorなどのLLMクライアントに接続します。カスタムクライアントもサポートされています。

このプロジェクトは、開発者がすぐにカスタムツールを追加できるように設計されています。その後の次の目標は、プレイヤーのビルドで同じ機能を有効にすることです。現在のところ、Unityエディターでのみ動作します。

このシステムは拡張性に優れており、Unity プロジェクトのコードベースに直接カスタムtoolを定義して、AI や自動化クライアントに新しい機能を公開できます。これにより、Unity-MCP は、高度なワークフローの構築、ラピッドプロトタイピング、AI を活用した機能を開発プロセスに統合するための柔軟な基盤となります。

AIツール

ゲームオブジェクト

  • ✅ 作成する

  • ✅ 破壊する

  • ✅ 検索

  • ✅ 変更(タグ、レイヤー、名前、静的)

  • ✅ 親を設定

  • ✅ 重複

ゲームオブジェクト.コンポーネント
  • ✅ コンポーネントを追加する

  • ✅ コンポーネントを入手する

  • ✅ コンポーネントの変更

    • Field設定値

    • Propertyセット値

    • Referenceリンクセット

  • ✅ コンポーネントを破壊する

  • 🔲 不足しているコンポーネントを削除する

エディタ

  • ✅ 状態(プレイモード)

    • ✅ 入手

    • ✅ 設定

  • ✅ Windows を入手

  • ✅ レイヤー

    • ✅ すべてを取得

    • ✅ 追加

    • ✅ 削除

  • ✅ タグ

    • ✅ すべてを取得

    • ✅ 追加

    • ✅ 削除

  • MenuItemを実行する

  • 🔲 テストを実行する

エディター.選択

  • ✅ 選択を取得

  • ✅ 選択範囲を設定する

プレハブ

  • ✅ インスタンス化

  • 🔲 作成する

  • ✅ オープン

  • ✅ 変更 (GameObject.Modify)

  • ✅ 保存

  • ✅ 閉じる

パッケージ

  • 🔲 インストールする

  • 🔲 インストール

  • 🔲 削除

  • 🔲 アップデート

資産

  • ✅ 作成する

  • ✅ 検索

  • ✅ リフレッシュ

  • ✅ 読む

  • ✅ 変更

  • ✅ 名前を変更する

  • ✅ 削除

  • ✅ 移動

  • ✅ フォルダを作成する

シーン

  • ✅ 作成する

  • ✅ 保存

  • ✅ ロード

  • ✅ 荷降ろし

  • ✅ ロードする

  • ✅ 階層を取得する

  • 🔲 検索(エディター)

  • 🔲 レイキャスト(ボリュームを理解する)

材料

  • ✅ 作成する

  • ✅ 変更 (Assets.Modify)

  • ✅ 読み取り (Assets.Read)

  • ✅ ゲームオブジェクトのコンポーネントに割り当てる

シェーダー

  • ✅ すべて表示

スクリプト

  • ✅ 読む

  • ✅ 更新または作成

  • ✅ 削除

スクリプト可能オブジェクト

  • 🔲 作成する

  • 🔲 読む

  • 🔲 変更

  • 🔲 削除

デバッグ

  • 🔲 ログを読む(コンソール)

成分

  • ✅ すべて取得

凡例: ✅ = 実装済み&利用可能、🔲 = 計画中 / まだ実装されていない

インストール

  1. .NET 9.0をインストールする

  2. OpenUPM-CLIをインストールする

  • Unityプロジェクトフォルダでコマンドラインを開く

  • コマンドを実行する

openupm add com.ivanmurzak.unity.mcp

使用法

  1. プロジェクト パスにスペース記号 " " が含まれていないことを確認してください。

  • C:/MyProjects/Project

  • C:/My Projects/Project

  1. Unity プロジェクトを開き、👉 Window/AI Connector (Unity-MCP)に移動します。

ユニティ_WaSRb5FIAR

  1. MCPクライアントをインストールする

  1. MCPクライアントにサインイン

  2. MCP クライアントでConfigureクリックします。

画像

  1. MCP クライアントを再起動します。

  2. 再起動後、 AI Connectorが「接続済み」または「接続中...」になっていることを確認します。

  3. クライアント(Cursor、Claude Desktop)でAI接続をテストしてください。チャットに質問やタスクを入力してください。例えば:

Explain my scene hierarchy

カスタムtoolを追加する

⚠️ 動的ツール リスト更新をサポートする MCP クライアントでのみ動作します。

Unity-MCPは、プロジェクトオーナーによるカスタムtool開発をサポートするために設計されています。MCPサーバーはUnityプラグインからデータを取得し、クライアントに公開します。そのため、MCP通信チェーン上の誰もが新しいtoolに関する情報を受け取ることができます。LLMは、ある時点でそのツールを呼び出す可能性があります。

カスタムtoolを追加するには、次のものが必要です。

  1. McpPluginToolType属性を持つクラスを作成します。

  2. クラスに属性McpPluginToolを持つメソッドを追加します。

  3. [オプション] LLM が理解できるように、各メソッド引数にDescription属性を追加します。

  4. [オプション] string? optional = nullプロパティを?およびデフォルト値とともに使用して、LLM に対してoptionalとしてマークします。

MainThread.Run(() =>の行を確認してください。これにより、Unity API と対話するために必要なコードをメイン スレッドで実行できるようになります。これが必要なく、ツールをバックグラウンド スレッドで実行しても問題ない場合は、効率化のためにメイン スレッドを使用しないでください。

[McpPluginToolType] public class Tool_GameObject { [McpPluginTool ( "MyCustomTask", Title = "Create a new GameObject" )] [Description("Explain here to LLM what is this, when it should be called.")] public string CustomTask ( [Description("Explain to LLM what is this.")] string inputData ) { // do anything in background thread return MainThread.Run(() => { // do something in main thread if needed return $"[Success] Operation completed."; }); } }

ゲーム内のカスタムtoolを追加する

⚠️ まだサポートされていません。作業中です

貢献

新しいtoolプロジェクトに自由に追加してください。

  1. プロジェクトをフォークします。

  2. フォークしたリポジトリに新しいtoolを実装します。

  3. オリジナルのUnity-MCPリポジトリにプル リクエストを作成します。

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IvanMurzak/Unity-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server