クイックスタート

June 30, 2026 · View on GitHub

✨ AI ゲーム開発者 — Unity SKILLS, MCP

MCP OpenUPM Docker Image Unity Editor Unity Runtime r
Discord OpenUPM Stars License Stand With Ukraine

AI work

Claude   Codex   Cursor   GitHub Copilot   Gemini   Antigravity   VS Code   Rider   Visual Studio   Open Code   Cline   Kilo Code

English | 中文 | Español

Unity MCPエディター&ランタイム向けの AI 駆動ゲーム開発アシスタントです。ClaudeCursorWindsurf を MCP 経由で Unity に接続できます。ワークフローの自動化、コード生成、そしてゲーム内での AI 活用を実現します。

他のツールとは異なり、このプラグインはコンパイル済みのゲーム内部でも動作するため、リアルタイムの AI デバッグやプレイヤーと AI のインタラクションが可能です。

💬 Discord サーバーに参加 — 質問したり、作品を披露したり、他の開発者とつながりましょう!

AI ゲーム開発者 — Unity MCP

  • ✔️ AI エージェントAnthropicOpenAIMicrosoft など、ベンダーロックインなしで最高のエージェントを利用可能
  • ✔️ ツール — Unity Editor で操作するための豊富なデフォルト MCP ツール
  • ✔️ スキル — OS、Unity バージョン、プロジェクト内のプラグインに基づいて AI 用スキルを生成
  • ✔️ コードとテスト — AI エージェントでゲームメカニクスを開発しテストを実行
  • ✔️ ランタイム(ゲーム内) — コンパイル済みゲーム内で直接 LLM を使用し、動的な NPC 挙動やデバッグに活用
  • ✔️ デバッグサポート — AI にプロジェクトの問題をデバッグ・修正させる
  • ✔️ 自然な会話 — 人間と話すように AI とチャット
  • ✔️ 柔軟なデプロイ — 設定によりローカル(stdio)でもリモート(http)でも動作
  • ✔️ 拡張可能プロジェクトコード内にカスタムツールを作成

インストーラーをダウンロード

https://github.com/user-attachments/assets/228baf4d-4f00-4dce-939d-fb985ebdd8dd

または CLI を使用

# 1. unity-mcp-cli をインストール
npm install -g unity-mcp-cli

# 2. Unity プロジェクトに「AI Game Developer」をインストール
unity-mcp-cli install-plugin ./MyUnityProject

# 3. クラウドサーバーにログイン
unity-mcp-cli login ./MyUnityProject

# 4. Unity プロジェクトを開く(自動接続・スキル生成)
unity-mcp-cli open ./MyUnityProject

AI Game Developer Windows

AI Game Developer — Unity SKILLS and MCP

クイックスタート

3つのステップで始められます:

  1. プラグインをインストール.unitypackage インストーラーをダウンロードするか openupm add com.ivanmurzak.unity.mcp を実行

    代替方法: npx unity-mcp-cli install-plugin ./MyUnityProjectCLI ドキュメントを参照

  2. AI エージェントを選択 — Claude Code、Claude Desktop、GitHub Copilot、Cursor、その他
  3. AI エージェントを設定 — Unity で Window/AI Game Developer を開き、スキルを自動生成(推奨)または MCP を設定 をクリック Setup AI Skills

    代替方法: npx unity-mcp-cli setup-skills claude-code ./MyUnityProjectCLI ドキュメントを参照

以上です。AI に「半径2の円上に3つのキューブを作成して」と頼んで、実行される様子を見てみましょう。✨


スキルとツールリファレンス

このプラグインには4つのカテゴリにまたがる70以上の組み込みツールが付属しています。各ツールが AI スキルを提供します。すべてのツールはインストール直後に利用可能で、追加の設定は不要です。詳細な説明付きの完全なリファレンスは docs/default-mcp-tools.md をご覧ください。

🧰 MCP ツールレジストリの全体をオンラインで閲覧: ai-game.dev/docs/tools

プロジェクト&アセット
  • assets-copy - 指定パスのアセットをコピーし、新しいパスに保存
  • assets-create-folder - 指定された親フォルダに新しいフォルダを作成
  • assets-delete - プロジェクトから指定パスのアセットを削除
  • assets-find - 検索フィルター文字列を使用してアセットデータベースを検索
  • assets-find-built-in - Unity Editor の組み込みアセットを検索
  • assets-get-data - すべてのシリアライズ可能なフィールドとプロパティを含むアセットデータを取得
  • assets-material-create - デフォルトパラメータで新しいマテリアルアセットを作成
  • assets-modify - プロジェクト内のアセットファイルを変更
  • assets-move - プロジェクト内のアセットを移動(名前変更にも使用)
  • assets-prefab-close - 現在開いているプレハブを閉じる
  • assets-prefab-create - 現在のアクティブシーン内のGameObjectからプレハブを作成
  • assets-prefab-instantiate - 現在のアクティブシーンにプレハブをインスタンス化
  • assets-prefab-open - 特定のGameObjectのプレハブ編集モードを開く
  • assets-prefab-save - プレハブ編集モードでプレハブを保存
  • assets-refresh - AssetDatabaseを更新
  • assets-shader-get-data - シェーダーアセットの詳細データを取得(プロパティ、サブシェーダー、パス)
  • assets-shader-list-all - プロジェクトアセットとパッケージ内のすべてのシェーダーを一覧表示
  • package-add - Unity Package Managerレジストリ、Git URL、またはローカルパスからパッケージをインストール
  • package-list - Unityプロジェクトにインストールされたすべてのパッケージを一覧表示(UPMパッケージ)
  • package-remove - Unityプロジェクトからパッケージを削除(アンインストール)
  • package-search - Unity Package Managerレジストリとインストール済みパッケージの両方でパッケージを検索
シーン&ヒエラルキー
  • gameobject-component-add - GameObjectにコンポーネントを追加
  • gameobject-component-destroy - 対象GameObjectからコンポーネントを削除
  • gameobject-component-get - GameObject上の特定コンポーネントの詳細情報を取得
  • gameobject-component-list-all - UnityEngine.Componentを継承したC#クラス名を一覧表示
  • gameobject-component-modify - GameObject上の特定コンポーネントを変更
  • gameobject-create - 開いているプレハブまたはシーンに新しいGameObjectを作成
  • gameobject-destroy - GameObjectと入れ子のすべてのGameObjectを再帰的に削除
  • gameobject-duplicate - 開いているプレハブまたはシーンでGameObjectを複製
  • gameobject-find - 提供された情報で特定のGameObjectを検索
  • gameobject-modify - GameObjectやアタッチされたコンポーネントのフィールドとプロパティを変更
  • gameobject-set-parent - GameObjectのリストに親GameObjectを設定
  • object-get-data - 指定されたUnity Objectのデータを取得
  • object-modify - 指定されたUnity Objectを変更
  • scene-create - プロジェクトアセットに新しいシーンを作成
  • scene-get-data - 指定されたシーンのルートGameObjectリストを取得
  • scene-list-opened - Unity Editorで現在開かれているシーンのリストを返す
  • scene-open - プロジェクトアセットファイルからシーンを開く
  • scene-save - 開いているシーンをアセットファイルに保存
  • scene-set-active - 指定された開いているシーンをアクティブシーンとして設定
  • scene-unload - Unity Editorで開かれているシーンをアンロード
  • screenshot-camera - カメラからスクリーンショットをキャプチャし、画像として返す
  • screenshot-game-view - Unity Editor Game Viewからスクリーンショットをキャプチャ
  • screenshot-isolated - GameObjectを選択した角度から分離してレンダリング(オプションで2x2の合成ビュー)
  • screenshot-scene-view - Unity Editor Scene Viewからスクリーンショットをキャプチャ
スクリプティング&エディター
  • console-clear-logs - MCP ログキャッシュと Unity Editor のコンソールウィンドウをクリア
  • console-get-logs - フィルタリングオプション付きでUnity Editorのログを取得
  • editor-application-get-state - Unity Editorアプリケーションの状態情報を返す(再生モード、一時停止、コンパイル)
  • editor-application-set-state - Unity Editorアプリケーションの状態を制御(再生モードの開始/停止/一時停止)
  • editor-selection-get - Unity Editorでの現在の選択情報を取得
  • editor-selection-set - Unity Editorでの現在の選択を設定
  • reflection-method-call - 入力パラメータ付きで任意のC#メソッドを呼び出し、結果を返す
  • reflection-method-find - C# Reflectionを使用してプロジェクト内のメソッドを検索(プライベートメソッドも含む)
  • script-delete - スクリプトファイルを削除
  • script-execute - Roslynを使用してC#コードを動的にコンパイル・実行
  • script-read - スクリプトファイルの内容を読み取る
  • script-update-or-create - 提供されたC#コードでスクリプトファイルを更新または作成
  • tests-run - フィルタリングと詳細な結果付きでUnityテスト(EditMode/PlayMode)を実行
  • type-get-json-schema - リフレクションを使用してC#型のJSON Schemaを生成
プロファイリング&診断
  • profiler-capture-frame - 現在のフレームのタイミング情報をキャプチャ(デルタタイム、FPS、フレーム数)
  • profiler-clear-data - Editor Profilerが現在保持しているすべてのフレームを破棄
  • profiler-enable-module - 指定されたプロファイラーモジュールのローカルな有効化フラグを切り替え
  • profiler-get-memory-stats - メモリ統計のスナップショットを返す(予約済み、割り当て済み、monoヒープ、グラフィックス)
  • profiler-get-rendering-stats - フレームタイミング、FPS、vsync、目標フレームレート、グラフィックスデバイスタイプを返す
  • profiler-get-script-stats - スクリプト実行タイミングとMono / GCメモリ使用量を返す
  • profiler-get-status - プロファイラーの有効状態、アクティブなモジュール、プラットフォームサポートを返す
  • profiler-list-modules - 既知のすべてのプロファイラーモジュール名とその有効化フラグを一覧表示
  • profiler-load-data - 以前に保存したプロファイラーのJSONスナップショットを読み戻す
  • profiler-save-data - プロファイラー由来の統計のスナップショットをJSONファイルに保存
  • profiler-start - Unityのランタイムプロファイラーを有効化しProfilerウィンドウを開く
  • profiler-stop - Unityのランタイムプロファイラーを無効化

追加のスキルとツールをインストール

さらに多くのツールが必要な場合は拡張機能をインストールするか、独自のツールを作成してください。

拡張機能説明
AI AnimationUnity アニメーション用の追加ツールセット
AI CinemachineCinemachine 用の MCP ツール
AI InputSystemUnity Input System 用の MCP ツール
AI NavigationAI ナビゲーション用の MCP ツール(NavMesh サーフェス、ベイク、エージェント、リンク)
AI ParticleSystemUnity パーティクルシステム用の追加ツールセット
AI ProBuilderUnity ProBuilder 用の追加ツールセット
AI SplinesUnity Splines 用の MCP ツール
AI TerrainUnity Terrain 用の追加ツールセット
AI TilemapUnity 2D タイルマップ用の MCP ツール
AI TimelineUnity Timeline のカットシーンとシーケンス用の MCP ツール

AI Game Developer — Unity SKILLS and MCP

目次

その他のドキュメント

ドキュメント説明
デフォルト MCP ツールすべての組み込みツールの詳細な説明付き完全リファレンス
MCP Server セットアップサーバー設定、環境変数、リモートホスティング
Docker デプロイステップバイステップの Docker デプロイガイド
開発ガイドアーキテクチャ、コードスタイル、CI/CD — コントリビューター向け
Wiki入門、チュートリアル、API リファレンス、FAQ
CLI ツールコマンドラインでプラグインのインストール、設定、接続

AI Game Developer — Unity SKILLS and MCP

インストール

ステップ1: Unity MCP Plugin をインストール

⚠️ 要件(クリックで展開)

Important

プロジェクトパスにスペースを含めることはできません

  • C:/MyProjects/MyProject
  • C:/My Projects/MyProject
  • C:/My Projects/My Project
  • C:/MyProjects/My Project

オプション1 - インストーラー

  • ⬇️ インストーラーをダウンロード
  • 📂 インストーラーを Unity プロジェクトにインポート
    • ファイルをダブルクリックすると Unity が自動的に開きます
    • または:先に Unity Editor を開き、Assets/Import Package/Custom Package をクリックしてファイルを選択してください

オプション2 - CLI(推奨)

unity-mcp-cli でプラグインをインストール — Unity Editor は不要です:

# 1.1 unity-mcp-cli をインストール                          #  ┌────────────────────┐
npm install -g unity-mcp-cli                               #  │ Available AI agent │
                                                           #  ├────────────────────┤
# 1.2 (オプション) Unity をインストール                      #  │ antigravity        │
unity-mcp-cli install-unity                                #  │ claude-code        │
                                                           #  │ claude-desktop     │
# 1.3 (オプション) Unity プロジェクトを作成                   #  │ cline              │
unity-mcp-cli create-project ./MyUnityProject              #  │ codex              │
                                                           #  │ cursor             │
# 2. Unity プロジェクトに「AI Game Developer」をインストール  #  │ gemini             │
unity-mcp-cli install-plugin ./MyUnityProject              #  │ github-copilot-cli │
                                                           #  │ kilo-code          │
# 3. クラウドサーバーにログイン                              #  │ open-code          │
unity-mcp-cli login ./MyUnityProject                       #  │ rider-junie        │
                                                           #  │ unity-ai           │
# 4. Unity プロジェクトを開く(自動接続・スキル生成)          #  │ vs-copilot         │
unity-mcp-cli open ./MyUnityProject                        #  │ vscode-copilot     │
                                                           #  └────────────────────┘
# 5. Unity Editor の準備完了を待機
unity-mcp-cli wait-for-ready ./MyUnityProject

すべての利用可能なコマンドについては CLI の完全なドキュメントをご覧ください。

ステップ2: AI エージェント をインストール

好みの AI エージェント を1つ選んでください — すべてをインストールする必要はありません。これが LLM とコミュニケーションするメインのチャットウィンドウになります。

AI Game Developer は非常に汎用性が高いため、お好みの AI エージェントをご利用いただけます — どれでもスムーズに動作します。唯一の重要な要件は、AI エージェントがスキルまたは動的な MCP ツール更新をサポートしていることです。

ステップ3: AI エージェント を設定

自動設定

  • Unity プロジェクトを開く
  • Window/AI Game Developer を開く
  • オプション1: スキルを自動生成 をクリック (推奨)
  • オプション2: Model Context Protocol (MCP) の 設定 をクリック

Unity_AI

お使いの MCP クライアントがリストにない場合は、ウィンドウに表示される生の JSON を使用して MCP クライアントに設定を注入してください。具体的な方法については、お使いの MCP クライアントの説明書をお読みください。

手動設定

何らかの理由で自動設定がうまくいかない場合は、AI Game Developer (Unity-MCP) ウィンドウの JSON を使用して、任意の MCP Client を手動で設定してください。

コマンドライン設定

command を作成

1. お使いの環境に合わせて <command> を選択

プラットフォーム<command>
Windows x64"<unityProjectPath>/Library/mcp-server/win-x64/gamedev-mcp-server.exe" port=<port> client-transport=stdio
Windows x86"<unityProjectPath>/Library/mcp-server/win-x86/gamedev-mcp-server.exe" port=<port> client-transport=stdio
Windows arm64"<unityProjectPath>/Library/mcp-server/win-arm64/gamedev-mcp-server.exe" port=<port> client-transport=stdio
MacOS Apple-Silicon"<unityProjectPath>/Library/mcp-server/osx-arm64/gamedev-mcp-server" port=<port> client-transport=stdio
MacOS Apple-Intel"<unityProjectPath>/Library/mcp-server/osx-x64/gamedev-mcp-server" port=<port> client-transport=stdio
Linux x64"<unityProjectPath>/Library/mcp-server/linux-x64/gamedev-mcp-server" port=<port> client-transport=stdio
Linux arm64"<unityProjectPath>/Library/mcp-server/linux-arm64/gamedev-mcp-server" port=<port> client-transport=stdio

2. <unityProjectPath> を Unity プロジェクトのフルパスに置き換えてください

3. <port> を AI Game Developer 設定のポートに置き換えてください

4. コマンドラインを使用して MCP Server を追加

Gemini CLI Gemini CLI
gemini mcp add ai-game-developer <command>

上記の表から <command> を置き換えてください

Claude Code CLI Claude Code CLI
claude mcp add ai-game-developer <command>

上記の表から <command> を置き換えてください

GitHub Copilot CLI GitHub Copilot CLI
copilot
/mcp add

サーバー名: ai-game-developer サーバータイプ: local コマンド: <command>

上記の表から <command> を置き換えてください

AI Game Developer — Unity SKILLS and MCP

AI ワークフロー例

AI エージェント で AI(LLM)とコミュニケーションしましょう。何でも依頼できます。タスクやアイデアを詳しく説明するほど、AI はより良い仕事をします。

一部の AI エージェント では異なる LLM モデルを選択できます。モデルによって性能が大きく異なるため、この機能に注目してください。

プロンプト例:

Explain my scene hierarchy
Create 3 spheres on top of each other
Create metallic golden material and attach it to a new sphere gameObject

VS Code で Copilot を使用している場合は、Agent モードが有効になっていることを確認してください

チーム全体の更新通知を無効化する

このプラグインは、OpenUPM 上で新しいバージョンが利用可能になると Editor 起動時にアップデートのポップアップを表示します。デフォルトでは、各チームメンバーが自分で "Do not show again" をクリックするまでこのポップアップが表示され続けます(これは各ユーザーのマシン上に保存される個人設定です)。

プラグインのバージョン管理を 1 人のエンジニアが担当している複数人での Unity プロジェクトでは、Edit ▸ Project Settings ▸ AI Game Developer を開き "Disable update notifications for the entire team" を有効にすることで、チーム全体でこのポップアップを無効化できます。設定は ProjectSettings/AI-Game-Developer-UpdateSettings.asset に保存され、プロジェクトごとに一度だけ設定すれば十分です — このファイルをコミットすると、そのコミットを取り込んだすべてのチームメンバーでポップアップが抑制されます。

同じ切り替えはメニューバーの Tools ▸ AI Game Developer ▸ Updates ▸ Disable Update Notifications (Team) からも利用できます。

LLM 向け高度な機能

Unity MCP は、LLM がより速く効果的に作業できるよう高度なツールを提供し、ミスを回避し、エラー発生時には自己修正します。すべてがあなたの目標を効率的に達成するために設計されています。

コア機能

  • ✔️ エージェント対応ツール — 1〜2ステップで必要なものを見つける
  • ✔️ 即座のコンパイルRoslyn を使用した C# コードのコンパイルと実行で高速なイテレーション
  • ✔️ 完全なアセットアクセス — アセットと C# スクリプトへの読み書きアクセス
  • ✔️ インテリジェントなフィードバック — 問題を正確に理解するための詳細なフィードバック

リフレクション駆動の機能

  • ✔️ オブジェクト参照 — 既存オブジェクトへの参照を提供し、即座に C# コードを生成
  • ✔️ プロジェクトデータアクセス — プロジェクト全体のデータに読みやすい形式でフルアクセス
  • ✔️ 細かい変更 — プロジェクト内のあらゆるデータを入力・変更
  • ✔️ メソッド検出 — コンパイル済み DLL ファイルを含む、コードベース全体のあらゆるメソッドを検索
  • ✔️ メソッド実行 — コードベース全体のあらゆるメソッドを呼び出し
  • ✔️ 高度なパラメータ — メモリ内の既存オブジェクトへの参照を含む、あらゆるプロパティをメソッド呼び出しに提供
  • ✔️ ライブ Unity API — Unity API が即座に利用可能 — Unity が更新されても常に最新の API にアクセス
  • ✔️ 自己文書化Description 属性を通じて、あらゆる classmethodproperty の人間が読める説明にアクセス

AI Game Developer — Unity SKILLS and MCP

ツールのカスタマイズ

Unity MCP は、プロジェクトオーナーによるカスタム MCP ToolMCP ResourceMCP Prompt の開発をサポートしています。MCP Server は Unity MCP Plugin からデータを取得し、クライアントに公開します。MCP 通信チェーン上のすべての参加者が新しい MCP 機能の情報を受け取り、LLM が適切なタイミングでそれらを使用する可能性があります。

カスタム Tool を追加

カスタム Tool を追加するには:

  1. AiToolType 属性を持つクラス
  2. AiTool 属性を持つクラス内のメソッド
  3. オプション: LLM の理解を助けるために、各メソッド引数に Description 属性を追加
  4. オプション: LLM に対して optional としてマークするために、string? optional = null のように ? とデフォルト値を使用

MainThread.Instance.Run(() => の行は、Unity の API とのインタラクションに必要なメインスレッドでコードを実行することを可能にします。これが不要で、バックグラウンドスレッドでの実行が許容される場合は、効率のためにメインスレッドの使用を避けてください。

[AiToolType]
public class Tool_GameObject
{
    [AiTool
    (
        "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.Instance.Run(() =>
        {
            // do something in main thread if needed

            return $"[Success] Operation completed.";
        });
    }
}

カスタム MCP Prompt を追加

MCP Prompt を使用すると、LLM との会話にカスタムプロンプトを注入できます。User と Assistant の2つの送信者ロールをサポートしています。LLM に特定のタスクを実行させるための手軽な方法です。リストやその他の関連情報など、カスタムデータを使用してプロンプトを生成できます。

[AiPromptType]
public static class Prompt_ScriptingCode
{
    [AiPrompt(Name = "add-event-system", Role = Role.User)]
    [Description("Implement UnityEvent-based communication system between GameObjects.")]
    public string AddEventSystem()
    {
        return "Create event system using UnityEvents, UnityActions, or custom event delegates for decoupled communication between game systems and components.";
    }
}

AI Game Developer — Unity SKILLS and MCP

ランタイム使用(ゲーム内)

ゲームやアプリで Unity MCP を使用しましょう。ツール、リソース、プロンプトを活用できます。デフォルトではツールは含まれていないため、独自のカスタムツールを実装する必要があります。

// Build MCP plugin
var mcpPlugin = UnityMcpPluginRuntime.Initialize(builder =>
    {
        builder.WithConfig(config =>
        {
            config.Host = "http://localhost:8080";
            config.Token = "your-token";
        });
        // Automatically register all tools from the current assembly
        builder.WithToolsFromAssembly(Assembly.GetExecutingAssembly());
    })
    .Build();

await mcpPlugin.Connect(); // Start active connection with retry to the MCP server

await mcpPlugin.Disconnect(); // Stop active connection and close existed connection

サンプル: AI チェスゲームボット

古典的なチェスゲームがあります。ボットのロジックを LLM に委託しましょう。ボットはゲームルールに従ってターンを実行する必要があります。

[AiToolType]
public static class ChessGameAI
{
    [AiTool("chess-do-turn", Title = "Do the turn")]
    [Description("Do the turn in the chess game. Returns true if the turn was accepted, false otherwise.")]
    public static Task<bool> DoTurn(int figureId, Vector2Int position)
    {
        return MainThread.Instance.RunAsync(() => ChessGameController.Instance.DoTurn(figureId, position));
    }

    [AiTool("chess-get-board", Title = "Get the board")]
    [Description("Get the current state of the chess board.")]
    public static Task<BoardData> GetBoard()
    {
        return MainThread.Instance.RunAsync(() => ChessGameController.Instance.GetBoardData());
    }
}

ランタイム使用が必要な理由

多くのユースケースが考えられます。例えば、ボット付きのチェスゲームを開発しているとしましょう。数行のコードを書くだけで、ボットの意思決定を LLM に委託できます。

AI Game Developer — Unity SKILLS and MCP

Unity MCP Server セットアップ

Unity MCP Server は多様な起動オプションと Docker デプロイをサポートしています。streamableHttpstdio の両方のトランスポートプロトコルに対応しています。Unity MCP Server をカスタマイズしたりクラウドにデプロイする場合は、このセクションをご覧ください。詳細はこちら...

変数

どの起動オプションを選んでも、環境変数とコマンドライン引数の両方によるカスタム設定がサポートされています。起動するだけであればデフォルト値で動作します。変数の設定に時間をかける必要はありません。ただし、Unity Plugin もデフォルト値になっていることを確認してください。特に --port は一致している必要があります。

環境変数コマンドライン引数説明
MCP_PLUGIN_PORT--portClient -> Server <- Plugin 接続ポート(デフォルト: 8080)
MCP_PLUGIN_CLIENT_TIMEOUT--plugin-timeoutPlugin -> Server 接続タイムアウト(ミリ秒)(デフォルト: 10000)
MCP_PLUGIN_CLIENT_TRANSPORT--client-transportClient -> Server トランスポートタイプ: stdio または streamableHttp(デフォルト: streamableHttp
MCP_AUTHORIZATION--authorization受信する Client 接続の認証モード: none または required(デフォルト: none
MCP_PLUGIN_TOKEN--token--authorization=required の場合に Client から要求される Bearer トークン(デフォルト: 未設定)
MCP_PLUGIN_IDLE_TIMEOUT_SECONDS--idle-timeout-seconds接続がない状態がこの秒数続いた後にサーバーをシャットダウン(デフォルト: 600)

コマンドライン引数は、- プレフィックス1つ(-port)やプレフィックスなし(port)のオプションもサポートしています。

分析および認証の webhook 変数(MCP_PLUGIN_WEBHOOK_*)については、docs/mcp-server.md を参照してください。

トランスポートの選択: MCP クライアントがサーバーバイナリを直接起動する場合は stdio を使用します(ローカル使用 — 最も一般的な設定)。サーバーをスタンドアロンプロセスとして実行する場合や Docker/クラウドで HTTP 経由で接続する場合は streamableHttp を使用します。

プラグイン変数

Unity MCP Plugin は起動時に以下の環境変数(およびコマンドライン引数)を読み込み、保存された設定ファイルの値を上書きします。上書きはランタイム時に適用されます。初回起動時または新しい認証トークンが生成された際、上書きされた値は設定ファイルに書き込まれます。以降の起動では、上書きはメモリ内で適用されますが自動的には保存されません。例外は UNITY_MCP_TOOLS で、[JsonIgnore] を使用しているため永続化されません — ランタイム専用です。

環境変数コマンドライン引数説明
UNITY_MCP_CLOUD_URL-urlURL stringMCP Server URL の上書き(UNITY_MCP_HOST はレガシーエイリアス)
UNITY_MCP_CONNECTION_MODE-UNITY_MCP_CONNECTION_MODECloud / Custom接続モードを強制(ループバック URL は Custom を意味します)
UNITY_MCP_KEEP_CONNECTED-UNITY_MCP_KEEP_CONNECTEDtrue / falseアクティブ接続の強制有効化または無効化
UNITY_MCP_AUTH_OPTION-authnone / required認証モードの強制設定
UNITY_MCP_TOKEN-tokenstring認証トークンの強制設定
UNITY_MCP_TRANSPORT-UNITY_MCP_TRANSPORTstdio / streamableHttpプラグインが設定するクライアントトランスポートを強制
UNITY_MCP_START_SERVER-UNITY_MCP_START_SERVERtrue / falseプラグインがローカルサーバープロセスを起動し続けるかどうかを強制
UNITY_MCP_TOOLS-UNITY_MCP_TOOLScomma-separated tool IDsリストされたツールのみを有効化し、その他はすべて無効化。不明な ID はエラーとしてログに記録されます。

コマンドライン引数は環境変数よりも優先されます。両方とも保存された設定ファイルの値を上書きします。短縮フラグ -url-token-auth はエイリアスです。完全な -UNITY_MCP_* 引数名も受け付けられます。

例(CI/CD バッチモード):

Unity.exe -batchmode -nographics \
  -UNITY_MCP_HOST=http://localhost:8080 \
  -UNITY_MCP_KEEP_CONNECTED=true \
  -UNITY_MCP_AUTH_OPTION=required \
  -UNITY_MCP_TOKEN=my-secret-token

Docker 📦

Docker Image

Docker がインストールされていることを確認してください。Windows をお使いの場合は、Docker Desktop が起動していることも確認してください。

高度な Docker 設定手順はこちら

streamableHttp トランスポート

docker run -p 8080:8080 aigamedeveloper/mcp-server
MCP Client 設定:
{
  "mcpServers": {
    "ai-game-developer": {
      "url": "http://localhost:8080"
    }
  }
}

クラウドでホストしている場合は、url を実際のエンドポイントに置き換えてください。

stdio トランスポート

このバリアントを使用するには、MCP Client が Docker 内で MCP Server を起動する必要があります。変更された MCP Client 設定で実現できます。

docker run -t -e MCP_PLUGIN_CLIENT_TRANSPORT=stdio -p 8080:8080 aigamedeveloper/mcp-server
MCP Client 設定:
{
  "mcpServers": {
    "ai-game-developer": {
      "command": "docker",
      "args": [
        "run",
        "-t",
        "-e",
        "MCP_PLUGIN_CLIENT_TRANSPORT=stdio",
        "-p",
        "8080:8080",
        "aigamedeveloper/mcp-server"
      ]
    }
  }
}

カスタム port

docker run -e MCP_PLUGIN_PORT=123 -p 123:123 aigamedeveloper/mcp-server
MCP Client 設定:
{
  "mcpServers": {
    "ai-game-developer": {
      "url": "http://localhost:123"
    }
  }
}

クラウドでホストしている場合は、url を実際のエンドポイントに置き換えてください

バイナリ実行ファイル

Unity MCP Server をバイナリファイルから直接起動できます。お使いの CPU アーキテクチャ用にコンパイルされたバイナリが必要です。GitHub リリースページには、すべての CPU アーキテクチャ用のコンパイル済みバイナリが含まれています。

./gamedev-mcp-server --port 8080 --plugin-timeout 10000 --client-transport stdio
MCP Client 設定:

<project> を Unity プロジェクトのパスに置き換えてください。

{
  "mcpServers": {
    "ai-game-developer": {
      "command": "<project>/Library/mcp-server/win-x64/gamedev-mcp-server.exe",
      "args": [
        "--port=8080",
        "--plugin-timeout=10000",
        "--client-transport=stdio"
      ]
    }
  }
}

AI Game Developer — Unity SKILLS and MCP

Unity MCP アーキテクチャの仕組み

Unity MCP は LLM と Unity の橋渡しをします。Unity のツールを LLM に公開・説明し、LLM がインターフェースを理解してユーザーのリクエストに応じてツールを活用します。

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

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

MCP とは

MCP — Model Context Protocol。一言で言えば、AI のための USB Type-C、特に LLM(大規模言語モデル)向けです。LLM に外部機能の使い方を教えます。この場合は Unity Engine、あるいはコード内のカスタム C# メソッドなどです。公式ドキュメント

AI エージェント とは

チャットウィンドウを持つアプリケーションです。より効果的に動作するためのスマートエージェントや、高度な MCP ツールが組み込まれている場合があります。一般的に、優れた MCP Client はタスク実行における AI の成功の50%を占めます。そのため、最適なものを選ぶことが非常に重要です。

MCP Server とは

MCP Client と「その他のもの」(この場合は Unity Engine)との橋渡しです。本プロジェクトには MCP Server が含まれています。

MCP Tool とは

MCP Tool は、LLM が Unity とインタラクションするために呼び出せる関数やメソッドです。自然言語のリクエストと実際の Unity 操作の橋渡しとして機能します。AI に「キューブを作成して」や「マテリアルの色を変更して」と頼むと、MCP ツールを使用してこれらのアクションを実行します。

主な特徴:

  • 実行可能な関数 — 特定の操作を実行
  • 型付きパラメータ — LLM がどのデータを提供すべきか理解するための説明付き
  • 戻り値 — 操作の成功や失敗に関するフィードバック
  • スレッド対応 — Unity API 呼び出し用のメインスレッドまたは重い処理用のバックグラウンドスレッドで実行可能

Tool を使うタイミング

  • 繰り返し作業の自動化 — 頻繁に行う一般的な操作のツールを作成
  • 複雑な操作 — 複数の Unity API 呼び出しを1つの使いやすいツールにバンドル
  • プロジェクト固有のワークフロー — プロジェクトの特定の構造や規約を理解するツールを構築
  • エラーが起きやすいタスク — バリデーションとエラーハンドリングを含むツールを作成
  • カスタムゲームロジック — ゲームのシステムを AI に公開して動的なコンテンツ作成を実現

例:

  • 特定のコンポーネントを持つ GameObject の作成と設定
  • アセット(テクスチャ、マテリアル、プレハブ)のバッチ処理
  • ライティングやポストプロセッシングエフェクトの設定
  • レベルジオメトリの生成やオブジェクトのプロシージャル配置
  • 物理設定やコリジョンレイヤーの設定

MCP Resource とは

MCP Resource は Unity プロジェクト内のデータへの読み取り専用アクセスを提供します。アクションを実行する MCP ツールとは異なり、リソースは LLM がプロジェクトの現在の状態、アセット、設定を調査し理解することを可能にします。プロジェクトに関するコンテキストを AI に提供する「センサー」と考えてください。

主な特徴:

  • 読み取り専用アクセス — プロジェクトデータや Unity オブジェクトへのアクセス
  • 構造化された情報 — LLM が理解できる形式で提示
  • リアルタイムデータ — プロジェクトの現在の状態を反映
  • コンテキスト認識 — AI がより良い判断を行うための支援

MCP Resource を使うタイミング

  • プロジェクト分析 — AI にプロジェクトの構造、アセット、構成を理解させる
  • デバッグ支援 — トラブルシューティングのために現在の状態情報を提供
  • インテリジェントな提案 — AI がより良い推奨を行うためのコンテキストを提供
  • ドキュメント生成 — プロジェクトの状態に基づいてドキュメントを自動作成
  • アセット管理 — AI が利用可能なアセットとそのプロパティを理解するのを支援

例:

  • シーンヒエラルキーと GameObject のプロパティの公開
  • 利用可能なマテリアル、テクスチャ、およびその設定の一覧表示
  • スクリプトの依存関係とコンポーネントの関連性の表示
  • 現在のライティング設定とレンダーパイプライン構成の表示
  • オーディオソース、アニメーション、パーティクルシステムに関する情報の提供

MCP Prompt とは

MCP Prompt を使用すると、事前定義されたプロンプトを LLM との会話に注入できます。これらはコンテキスト、指示、または知識を提供して AI の挙動を導くスマートテンプレートです。プロンプトは静的テキストにも、プロジェクトの現在の状態に基づいて動的に生成することもできます。

主な特徴:

  • 文脈に応じたガイダンス — AI の応答に影響を与える
  • ロールベース — 異なるペルソナをシミュレート可能(ユーザーリクエストまたはアシスタントの知識)
  • 動的コンテンツ — リアルタイムのプロジェクトデータを含められる
  • 再利用可能なテンプレート — 一般的なシナリオやワークフロー向け

MCP Prompt を使うタイミング

  • ドメイン知識の提供 — プロジェクト固有のベストプラクティスやコーディング規約を共有
  • コーディング規約の設定 — 命名規則、アーキテクチャパターン、コードスタイルの確立
  • プロジェクト構造のコンテキスト提供 — プロジェクトの構成とその理由を説明
  • ワークフロー手順の共有 — 一般的なタスクのステップバイステップ手順を提供
  • 専門知識の注入 — 特定の Unity 機能、サードパーティアセット、カスタムシステムに関する情報を追加

例:

  • 「パブリックメソッドには PascalCase、プライベートフィールドには camelCase を常に使用する」
  • 「このプロジェクトでは Scripts/Events/ にあるカスタムイベントシステムを使用する」
  • 「UI 要素を作成する際は、常に Scene/UI/MainCanvas の Canvas に追加する」
  • 「パフォーマンスが重要 — 頻繁にインスタンス化されるオブジェクトにはオブジェクトプーリングを優先する」
  • 「このプロジェクトは SOLID 原則に従う — アーキテクチャの判断を説明する」

AI Game Developer — Unity SKILLS and MCP

アンインストール 🧹

Unity プロジェクトからプラグインを完全に削除するには:

  1. Window ▸ Package Manager を開き、AI Game Developer — MCP パッケージを選択して Remove をクリックします。
  2. Unity を閉じてから、Assets/Plugins/NuGet フォルダ(およびその Assets/Plugins/NuGet.meta ファイル)を削除します。

AI Game Developer — Unity SKILLS and MCP

コントリビューション 💙💛

コントリビューションを大歓迎します。アイデアを持ち寄り、ゲーム開発をかつてないほどシンプルにしましょう!新しい Tool や機能のアイデアがありますか?バグを見つけて修正方法をご存知ですか?

このプロジェクトが役に立ったら、ぜひスターを付けてください 🌟

  1. 👉 開発ドキュメントを読む
  2. 👉 プロジェクトをフォーク
  3. フォークをクローンし、Unity で ./Unity-MCP-Plugin フォルダを開く
  4. プロジェクトに新しい機能を実装し、コミット、GitHub にプッシュ
  5. オリジナルの Unity-MCP リポジトリの main ブランチに向けてプルリクエストを作成

AI Game Developer — Unity SKILLS and MCP