設定
AI Game Developer ウィンドウで Unity MCP を設定する方法 — Cloud モードと Custom モード、ローカルサーバー、ポート、トランスポート、認可、ツール、オーバーライド、CI について説明します。
ほとんどのプロジェクトでは設定は不要です。プラグインをインストールし、サインインし、お使いのエージェント用に Configure をクリックするだけです。このページでは、AI Game Developer ウィンドウの各設定の役割、設定の保存場所、自動化のために設定をオーバーライドする方法、そして CI やプレイヤービルドでのプラグインの動作について説明します。
AI Game Developer ウィンドウ
Window > AI Game Developer — MCP(Ctrl+Alt+A、macOS では Cmd+Option+A)または Scene ビューツールバーの AI ボタンで開きます。上から順に次の項目があります:
- Log Level、Timeout (ms)、Tool timeout (ms)、およびプラグインの Version。
- Connection: Custom / Cloud の切り替えと、選択したモードの設定。
- 接続タイムライン:Unity(Connect / Disconnect ボタン付き)、MCP server、AI agent。
- AI agent ドロップダウンと各クライアントの設定項目:Model Context Protocol (MCP)(Configure / Remove)と Skills(Auto-generate と Generate)。
- Tools、Prompts、Resources のカウンター。それぞれに Open ボタンがあります。
- Extensions: オプションのツールパックをインストールします(Extensions を参照)。
- ヘルプリンク:Help / Talk(Discord)、Bug Report(GitHub issues)、およびシリアライズ診断用の Check ボタン。
接続モード
Cloud(デフォルト)
プラグインはホスト型サーバー https://ai-game.dev/mcp に接続します。ローカルサーバーは起動されず、URL は編集できません。Cloud モードではサインインが必要です。Cloud Token の横にある Authorize をクリックしてブラウザでデバイスコードを承認するか、unity-mcp-cli login または AI Game Dev アプリで一度サインインします。Revoke を実行すると、そのマシン上のすべての AI Game Dev ツールからサインアウトします。
Custom(ローカルまたは独自サーバー)
プラグインは Server URL の URL に接続します。デフォルトでは http://localhost:<port> のローカルサーバーであり、プラグインがサーバー(gamedev-mcp-server)のダウンロード、起動、停止を代行します。自分でホストするリモート MCP サーバーの URL を入力することもできます。Server URL は Unity がサーバーから切断されている間のみ編集できます。
Custom モードでは次の設定が追加されます:
- MCP server: Start / Stop ボタンとステータス(Running、Starting、Stopping、Downloading、または別のプロセスがすでにポートを使用している場合は External)。バイナリのダウンロードに失敗した場合は Download / Retry server が表示されます。
- Transport:
http(推奨)またはstdio。httpの場合、エージェントは実行中のサーバーに接続し、複数のエージェントが共有でき、サーバーを別のマシンで実行できます。stdioの場合、エージェントがサーバーを自身の子プロセスとして起動し、接続できるエージェントは 1 つだけで、Start / Stop ボタンは無効になります。 - Authorization Token:
none、oauth、token。none: サーバーは任意の接続を受け入れます。ポートが他のマシンから到達できない場合にのみ安全です。oauth: エージェントは ai-game.dev アカウントでサインインし、サーバーはオンラインでトークンを検証します。token: 共有シークレットで、完全にオフラインです。New をクリックしてトークンを生成し、Configure をクリックします(またはトークンをエージェントの設定に手動でコピーします)。
ポート
ローカルポートは 8080 のような固定値ではありません。プロジェクトフォルダから導出されます。つまり、正規化されたプロジェクトパスの SHA-256 ハッシュを 20000 から 29999 の範囲にマッピングします。同じプロジェクトは常に同じポートになり、異なるプロジェクトは異なるポートになるため、複数の Unity インスタンスを同時に実行できます。CLI も同じ計算式を使うため、フラグなしで正しいサーバーを見つけられます。
別のポートを使うには、切断してから Server URL に入力します(例:http://localhost:25000)。設定ツールは入力したポートをエージェントの設定に書き込みます。
設定ファイル
設定はユーザーごとに UserSettings/AI-Game-Developer-Config.json に保存され、初回起動時に作成されます。主なキーは次のとおりです:
| キー | 意味 | デフォルト |
|---|---|---|
connectionMode | Cloud または Custom | Cloud |
host | Custom モードのサーバー URL | http://localhost:<port> |
token | token 認可モード用の共有トークン | 生成済み |
transportMethod | streamableHttp または stdio | streamableHttp |
authOption | none、oauth または token | none |
keepConnected | サーバーに自動接続する | true、CI では false |
keepServerRunning | ローカルサーバーを起動して実行し続ける | true、CI では false |
logLevel | Trace、Debug、Information、Warning、Error、Critical | Warning |
timeoutMs | プラグインからサーバーへのタイムアウト | 10000 |
toolTimeoutMs | 1 回のツール呼び出しが実行できる時間 | 300000 |
tools、prompts、resources | 項目ごとの表示/非表示 | デフォルト |
Cloud の認証情報はここには保存されず、~/.ai-game-dev/credentials.json にあります。最初からやり直すには、Tools > AI Game Developer > Reset Config を使用します。これによりデフォルトが復元され、スクリプトが再読み込みされます。
ツール、プロンプト、リソース
Tools カウンターは、インストールされているツールのうちエージェントが認識している数と、それらが AI のコンテキストで消費するトークンの推定値を示します。Open をクリックすると個々のツールの表示/非表示を切り替えられます。MCP Prompts と MCP Resources ウィンドウも同様に動作します。
非表示にしたツールは削除されません。エージェントのツール一覧からは消えますが、名前で呼び出されれば実行されます。表示するツールを減らすと、推論用のコンテキストをより多く確保できます。表示/非表示は tool-set-visibility ツールやターミナルから変更することもできます:
unity-mcp-cli configure ./MyUnityProject --enable-tools screenshot-scene-view,script-read
unity-mcp-cli configure ./MyUnityProject --list環境変数とコマンドラインによるオーバーライド
CI やスクリプトからの起動のために、プラグインは起動時に次の変数(または対応する Unity コマンドライン引数)を読み取ります。オーバーライドはメモリ内でのみ適用され、設定ファイルには書き込まれません。
| 変数 | コマンドライン引数 | 値 |
|---|---|---|
UNITY_MCP_CLOUD_URL | -url | サーバー URL(UNITY_MCP_HOST はレガシーエイリアス) |
UNITY_MCP_CONNECTION_MODE | -UNITY_MCP_CONNECTION_MODE | Cloud または Custom。ループバック URL は Custom を意味します |
UNITY_MCP_KEEP_CONNECTED | -UNITY_MCP_KEEP_CONNECTED | true または false |
UNITY_MCP_AUTH_OPTION | -auth | none、oauth または token |
UNITY_MCP_TOKEN | -token | ローカルサーバーのトークン |
UNITY_MCP_TRANSPORT | -UNITY_MCP_TRANSPORT | stdio または streamableHttp |
UNITY_MCP_START_SERVER | -UNITY_MCP_START_SERVER | true または false |
UNITY_MCP_TOOLS | -UNITY_MCP_TOOLS | 表示するツール ID のカンマ区切りリスト。それ以外はすべて非表示 |
コマンドライン引数は環境変数より優先されます。ローカルサーバーに接続するバッチモード Editor の例:
Unity -batchmode -projectPath ./MyUnityProject \
-UNITY_MCP_CLOUD_URL=http://localhost:8080 \
-UNITY_MCP_KEEP_CONNECTED=true \
-UNITY_MCP_AUTH_OPTION=token \
-UNITY_MCP_TOKEN=my-secret-tokenunity-mcp-cli open はこれらの変数を自動的に設定します。CLI reference を参照してください。
CI で Unity MCP を無効にする
プラグインは CI 環境を検出すると、サーバーのダウンロードと自動接続をスキップします。通常の CI テストジョブで完全に無効にするには、次の 2 つのオプトアウトのいずれかを使用します:
- Unity を起動するプロセスの環境で
UNITY_MCP_DISABLE=1(またはtrue)を設定します。プラグインは起動、ツール登録、サーバーのダウンロード、NuGet 解決、およびエディターフックをスキップします。コードは引き続きコンパイルされるため、プロジェクトはコンパイルできる必要があります。 - Project Settings > Player > Other Settings の Scripting Define Symbol に
UNITY_MCP_EXCLUDE_FROM_COMPILATIONを設定します。これにより、すべてのプラグインアセンブリ(および更新されたファーストパーティ拡張)がコンパイルから除外されます。プラグインの型を参照する自分のコードには#if !UNITY_MCP_EXCLUDE_FROM_COMPILATIONが必要です。
-batchmode や -runTests ではどちらも自動的に有効にはなりません。ヘッドレス MCP セッションにはプラグインが必要だからです。
プレイヤービルドとランタイム
プラグインのランタイムアセンブリはすべてのプラットフォーム向けにコンパイルされるため、上記の定義で除外しない限りプレイヤービルドに含まれます。ビルドが勝手に接続することはありません。ゲーム内でコードから UnityMcpPluginRuntime.Initialize(...) を呼び出してオプトインします。これにより、ゲーム内ツールを AI に公開できます(例:AI チェス対戦相手)。Custom tools を参照してください。
MCP サーバーのセルフホスティング
サーバーは共有の GameDev-MCP-Server で、Docker イメージ aigamedeveloper/mcp-server としても公開されています:
docker run -p 8080:8080 aigamedeveloper/mcp-server次に、プラグインを Custom に設定し、Server URL を http://localhost:8080(または自分のホスト)にして、エージェントも同じアドレスに向けます。サーバーは --port、--client-transport、--authorization、--idle-timeout-seconds などの設定、または対応する MCP_PLUGIN_* 環境変数を受け付けます。すべての一覧はサーバーのドキュメントにあります。
関連ページ
- エージェント設定とサインインについては Connecting AI clients を参照してください。
- 接続の問題については Troubleshooting を参照してください。