# 設定 — Unity · AI Game Developer Wiki

AI Game Developer ウィンドウで Unity MCP を設定する方法 — Cloud モードと Custom モード、ローカルサーバー、ポート、トランスポート、認可、ツール、オーバーライド、CI について説明します。

このページは英語から機械翻訳されています。[英語の原文を読む](https://ai-game.dev/docs/wiki/unity/configuration)。

ほとんどのプロジェクトでは設定は不要です。プラグインをインストールし、サインインし、お使いのエージェント用に **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](https://ai-game.dev/ja/docs/wiki/unity/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` ツールやターミナルから変更することもできます：

```bash
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 の例：

```bash
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-token
```

`unity-mcp-cli open` はこれらの変数を自動的に設定します。[CLI reference](https://ai-game.dev/ja/docs/wiki/unity/cli#open) を参照してください。

## 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](https://ai-game.dev/ja/docs/wiki/unity/custom-tools#runtime) を参照してください。

## MCP サーバーのセルフホスティング

サーバーは共有の [GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) で、Docker イメージ `aigamedeveloper/mcp-server` としても公開されています：

```bash
docker run -p 8080:8080 aigamedeveloper/mcp-server
```

次に、プラグインを **Custom** に設定し、**Server URL** を `http://localhost:8080`（または自分のホスト）にして、エージェントも同じアドレスに向けます。サーバーは `--port`、`--client-transport`、`--authorization`、`--idle-timeout-seconds` などの設定、または対応する `MCP_PLUGIN_*` 環境変数を受け付けます。すべての一覧は[サーバーのドキュメント](https://github.com/IvanMurzak/Unity-MCP/blob/main/docs/mcp-server.md)にあります。

## 関連ページ

- エージェント設定とサインインについては [Connecting AI clients](https://ai-game.dev/ja/docs/wiki/unity/connecting-ai-clients) を参照してください。
- 接続の問題については [Troubleshooting](https://ai-game.dev/ja/docs/wiki/unity/troubleshooting) を参照してください。

---

Source (HTML): https://ai-game.dev/ja/docs/wiki/unity/configuration

Machine-translated (ja) from the English page: https://ai-game.dev/docs/wiki/unity/configuration
