Unity API Documentation について
unity-api-mcp は、Unity 6、2023、2022 LTS に対応した正確な Unity API ドキュメントを AI エージェントに提供する MCP サーバーです。存在しないシグネチャ、誤った名前空間、非推奨 API の使用を減らします。Unity のインストールは不要で、バージョンごとのデータベースをローカルに保存します。
主な機能
- 01全オーバーロードを含む正確なメソッドシグネチャ
- 02using ディレクティブの名前空間検索
- 03クラスリファレンスの一覧表示
- 04代替案付きの非推奨 API 警告
- 05SQLite と FTS5 による高速なローカル検索
活用シーン
- 01Unity スクリプト作成時のパラメータと戻り値の確認
- 02SceneManager など型に必要な using ディレクティブの検索
- 03プロジェクト内の WWW など非推奨 API の確認
MCP 対応
MCP サーバーとして動作し、API 検索、シグネチャ取得、名前空間検索、クラスリファレンス、非推奨警告のツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx unity-api-mcpUNITY_VERSIONUnity version to serve: 2022, 2023, or 6 (default: auto-detect or 6)UNITY_PROJECT_PATHPath to Unity project for auto-detecting version from ProjectSettings/ProjectVersion.txtローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | |
| n_results | integer | いいえ | |
| member_type | any | いいえ |
詳細
unity-api-mcp
AI エージェントに正確な Unity API ドキュメントを提供する MCP サーバーです。誤ったシグネチャー、間違った名前空間、非推奨 API の使用によるハルシネーションを防ぎます。
Unity 6(マイナーバージョン系列ごとにデータベースを用意)、Unity 2023、Unity 2022 LTS に対応しています。Claude Code、Cursor、Windsurf、および MCP 対応の AI ツールで利用できます。Unity のインストールは不要です。対応バージョンをご覧ください。新しい Unity リリースは毎週自動で検出され、ビルドされます。
クイックスタート
UNITY_VERSION をプロジェクトに合わせて設定し、MCP 設定(.mcp.json、mcp.json、またはツールの MCP 設定)に追加します。
{
"mcpServers": {
"unity-api": {
"command": "uvx",
"args": ["unity-api-mcp"],
"env": {
"UNITY_VERSION": "6000.3"
}
}
}
}
有効な値:"6000.3" のような Unity 6 の系列、または "6"、"2023"、"2022"。
初回起動時に、サーバーは適切なデータベース(約20~30 MB)を ~/.unity-api-mcp/ にダウンロードします。
動作の仕組み
- バージョンの検出。 サーバーは、提供する Unity のバージョンを次のように判定します。
| 優先度 | ソース | 例 |
|---|---|---|
| 1 | UNITY_VERSION 環境変数 | "2022"、"6"、"6000.3"、または "6000.3.8f1" |
| 2 | UNITY_PROJECT_PATH | ProjectSettings/ProjectVersion.txt を読み取り、2022.3.62f1 を "2022" に、6000.3.8f1 を "6000.3" に変換します |
| 3 | デフォルト | "6" |
-
データベースのダウンロード。 該当するバージョンのデータベースがローカルにキャッシュされていない場合、GitHub からダウンロードします。Unity 6 のマイナー系列(
6000.0、6000.3、6000.5、…)にはそれぞれ専用のデータベースがあり、系列のデータベースが公開されていない場合は汎用の6データベースにフォールバックします。起動時にキャッシュ済みデータベースの最新性をリリースと照合するため、毎週の再ビルドは既存のインストールにも自動的に反映されます。 -
提供。 すべてのツール呼び出しは、バージョン固有の SQLite データベースを検索します。各クエリの応答は15ミリ秒未満です。
各バージョンには、そのリリースに対応した正確なシグネチャー、非推奨の警告、メンバー一覧を含む専用データベースがあります。
ツール
| ツール | 目的 | 例 |
|---|---|---|
search_unity_api | キーワードで API を検索します | "Tilemap SetTile"、"async load scene" |
get_method_signature | すべてのオーバーロードを含む正確なシグネチャーを取得します | UnityEngine.Physics.Raycast |
get_namespace | using ディレクティブを特定します | "SceneManager" -> using UnityEngine.SceneManagement; |
get_class_reference | クラスの完全なリファレンスカードを取得します | "InputAction" -> すべてのメソッド/フィールド/プロパティ |
get_deprecation_warnings | API が非推奨かどうかを確認します | "WWW" -> 代わりに UnityWebRequest を使用してください |
対象範囲
すべての UnityEngine および UnityEditor モジュールに加え、C# ソースから解析したパッケージ(Input System、Addressables、uGUI(Unity 6 では TextMeshPro を含む)、AI Navigation、Netcode)を対象としています。Unity 6 の各データベースには約 42,500 件のレコードがあり、それぞれに約 500 件の非推奨警告が含まれます。
全バージョンの一覧はこちらです:db-v1 リリースページ。CI はビルドのたびにこの表を再生成します。新しい Unity パッチは毎週月曜日に自動検出され、ビルドされます。
サードパーティー製アセット(DOTween、VContainer、Newtonsoft.Json)は対象外です。これらについては、プロジェクトのソースを参照してください。
ベンチマーク
約束ではなく、実測値です。3 つのテスト環境で 25 個の調査質問に 3 種類のエージェント設定で回答し、すべての回答を事前にソースで確認した正解データと照合して評価しました。ベンチマーク用ハーネス一式は docs/benchmark/ にあり、1 つのコマンドで再実行できます。
| 設定 | 正解 | 部分正解 | 不正解 | 幻覚した API |
|---|---|---|---|---|
| MCP + 対象を絞った Read | 24/25 | 1 | 0 | 0 |
| 熟練(Grep+Read) | 20/25 | 3 | 2 | 1 |
| 基本(全件 Read) | 19/25 | 3 | 3 | 1 |
再現された 1 件の幻覚は示唆に富んでいます。SceneManager.LoadSceneAsync のオーバーロード一覧を尋ねたところ、MCP を使わない 2 つのエージェントは、存在しない単一引数の LoadSceneAsync(string) と LoadSceneAsync(int) のオーバーロードをでっち上げました。これらを使って書いたコードはコンパイルできません。MCP エージェントは、実在する 4 つのオーバーロードを正確に返しました。
なぜトークン削減ではなく正確さなのか?現在、エージェント型ツールはコード検索に優れています。Claude Code には当初から Grep ツールが搭載されており、現在のモデルはまず検索し、その後、範囲を絞った行を読み取るため、実行時のトークン使用量はすべての設定でほぼ同等でした。しかし、正確なオーバーロード、名前空間、非推奨情報はプロジェクトファイルには一切含まれていません。MCP を使わないエージェントは使用例から推測するしかなく、推測を誤ればビルドが壊れます。
方法
- 3 つのテスト環境:実際の Unity 6 ゲームプロジェクト(質問 11 件)、Unity API のみの検索(8 件)、ファイルごとに 2,700~4,600 行ある Unity Input System パッケージのソース(6 件)
- 3 つの設定、同じモデルとターン制限:MCP ツール + Grep/Read、Grep/Read のみ、Read のみ
- すべての実行前にソースを読み、正解データを確認しました。回答は別のモデルセッションでその正解データと照合して評価し、トークン使用量は API の使用量フィールドから取得しました
- 自分で実行する場合:
python docs/benchmark/run.py --project <unity-project-path>(2026 年 7 月時点の結果です。エージェントの挙動は変化するため、引用前に再実行してください)
CLAUDE.md のスニペット
プロジェクトの CLAUDE.md(または同等の指示ファイル)に追加してください。この手順は重要です。 これがないと、AI はツールを使えますが、いつ使えばよいか分かりません。
## Unity API Lookup (unity-api MCP)
Use the `unity-api` MCP tools to verify Unity API usage instead of guessing. **Do not hallucinate signatures.**
| When | Tool | Example |
|------|------|---------|
| Unsure about a method's parameters or return type | `get_method_signature` | `get_method_signature("UnityEngine.Tilemaps.Tilemap.SetTile")` |
| Need the `using` directive for a type | `get_namespace` | `get_namespace("SceneManager")` |
| Want to see all members on a class | `get_class_reference` | `get_class_reference("InputAction")` |
| Searching for an API by keyword | `search_unity_api` | `search_unity_api("async load scene")` |
| Checking if an API is deprecated | `get_deprecation_warnings` | `get_deprecation_warnings("FindObjectOfType")` |
**Rules:**
- Before writing a Unity API call you haven't used in this conversation, verify the signature with `get_method_signature`
- Before adding a `using` directive, verify with `get_namespace` if unsure
- Covers: all UnityEngine/UnityEditor modules, Input System, Addressables, uGUI/TextMeshPro, AI Navigation, Netcode
- Does NOT cover: DOTween, VContainer, Newtonsoft.Json (third-party)
セットアップの詳細
プロジェクトパスからバージョンを自動検出する
UNITY_VERSIONを設定する代わりに、Unity プロジェクトを指定できます。サーバーはProjectSettings/ProjectVersion.txtを自動的に読み取ります。
{
"mcpServers": {
"unity-api": {
"command": "uvx",
"args": ["unity-api-mcp"],
"env": {
"UNITY_PROJECT_PATH": "/path/to/your/unity-project"
}
}
}
}
別のインストール方法
pip install を使用する場合:
pip install unity-api-mcp
{
"mcpServers": {
"unity-api": {
"command": "unity-api-mcp",
"args": [],
"env": {
"UNITY_VERSION": "6000.3"
}
}
}
}
環境変数
| 変数 | 目的 | 例 |
|---|---|---|
UNITY_VERSION | 提供する Unity のバージョン | 6000.3、6000.3.8f1、6、2023、2022 |
UNITY_PROJECT_PATH | プロジェクトからバージョンを自動検出 | F:/Unity Projects/my-project |
UNITY_INSTALL_PATH | Unity のインストールパスを上書き(ingestのみ) | D:/Unity/6000.3.8f1 |
データベースをローカルでビルドする
ダウンロードする代わりに、自分の Unity インストール環境からデータベースをビルドする場合:
# Install with ingest dependencies
pip install unity-api-mcp[ingest]
# Windows
python -m unity_api_mcp.ingest --unity-version 6000.3 --unity-install "D:/Unity/6000.3.8f1" --project "F:/Unity Projects/MyProject"
# macOS
python -m unity_api_mcp.ingest --unity-version 6000.3 --unity-install "/Applications/Unity/Hub/Editor/6000.3.20f1" --project "/path/to/UnityProject"
# Legacy versions
python -m unity_api_mcp.ingest --unity-version 2022 --unity-install "D:/Unity/2022.3.62f1"
データベースはデフォルトで~/.unity-api-mcp/unity_docs_{version}.dbに書き込まれます。
AI によるセットアップ
AI エージェントにセットアップを任せる場合:
UNITY_VERSIONを自分のプロジェクトに合わせて設定し、uvxを使用してunity-api-mcpをMCP設定に追加し、README の CLAUDE.md のスニペットを追記して、get_namespace("SceneManager")で動作を確認してください。
プロジェクト構成
unity-api-mcp/
├── src/unity_api_mcp/
│ ├── server.py # MCP server (5 tools)
│ ├── db.py # SQLite + FTS5 database layer
│ ├── version.py # Version detection + DB download
│ ├── xml_parser.py # Parse Unity XML IntelliSense files
│ ├── cs_doc_parser.py # Parse C# doc comments from package source
│ ├── unity_paths.py # Locate Unity install + package dirs
│ └── ingest.py # CLI ingestion pipeline
└── pyproject.toml
データベースは~/.unity-api-mcp/に保存されます(初回実行時にダウンロードされます)。
トラブルシューティング
| 問題 | 解決方法 |
|---|---|
| 「Unity X のデータベースをダウンロードできませんでした」 | インターネット接続を確認してください。または、ローカルでビルドしてください:python -m unity_api_mcp.ingest --unity-version 2022 |
| 提供されている API のバージョンが違う | UNITY_VERSIONを明示的に設定してください。stderr を確認してください:unity-api-mcp: serving Unity <version> API docs |
| サーバーが起動しない | python --versionを確認してください(3.10 以降が必要です)。パスを確認してください:which unity-api-mcpまたはwhere unity-api-mcp |
ModuleNotFoundError: No module named 'mcp.server.fastmcp' | バージョン2.1.0以前ではmcp 2.xがインストールされています。MCP クライアントを再起動するか、uvx unity-api-mcp@latestを実行してください。pip の場合は、pip install -U unity-api-mcpを実行してください。 |
| サードパーティ製パッケージの検索結果が返されない | DOTween、VContainer、Newtonsoft.Json はインデックス化されていません(サードパーティ製であり、Unity パッケージではありません)。 |
関連項目
unreal-api-mcp:Unreal Engine(C++)向けの同様のツールです。UE のバージョンごとに週次でデータベースが自動ビルドされます。
お問い合わせ
お使いのエンジンやフレームワーク向けのカスタム MCP サーバーが必要ですか?AI を活用したゲーム開発でトークンの無駄を減らし、ハルシネーションを防ぐ MCP ツールを開発しています。チームの技術スタック向けに同様のものが必要でしたら、ご連絡ください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。