mcpField
U
Unity API Documentation

Unity API Documentation

ローカル
github.com/Codeturion開発ツール672 日前に更新

Unity API Documentation について

unity-api-mcp は、Unity 6、2023、2022 LTS に対応した正確な Unity API ドキュメントを AI エージェントに提供する MCP サーバーです。存在しないシグネチャ、誤った名前空間、非推奨 API の使用を減らします。Unity のインストールは不要で、バージョンごとのデータベースをローカルに保存します。

主な機能

  1. 01全オーバーロードを含む正確なメソッドシグネチャ
  2. 02using ディレクティブの名前空間検索
  3. 03クラスリファレンスの一覧表示
  4. 04代替案付きの非推奨 API 警告
  5. 05SQLite と FTS5 による高速なローカル検索

活用シーン

  1. 01Unity スクリプト作成時のパラメータと戻り値の確認
  2. 02SceneManager など型に必要な using ディレクティブの検索
  3. 03プロジェクト内の WWW など非推奨 API の確認

MCP 対応

MCP サーバーとして動作し、API 検索、シグネチャ取得、名前空間検索、クラスリファレンス、非推奨警告のツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"codeturion-unity-api": {
"command": "uvx",
"args": [
"unity-api-mcp"
],
"env": {
"UNITY_VERSION": "<UNITY_VERSION>",
"UNITY_PROJECT_PATH": "<UNITY_PROJECT_PATH>"
}
}
}
}
起動コマンドuvx unity-api-mcp
設定が必要な環境変数
UNITY_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiunity-api-mcp2.1.1

ツール

5

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
querystringはい
n_resultsintegerいいえ
member_typeanyいいえ

詳細

unity-api-mcp

PyPI Version PyPI Downloads MCP Registry GitHub Stars GitHub Last Commit Weekly DB Build License: MIT Python 3.10+

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/ にダウンロードします。

動作の仕組み

  1. バージョンの検出。 サーバーは、提供する Unity のバージョンを次のように判定します。
優先度ソース例
1UNITY_VERSION 環境変数"2022"、"6"、"6000.3"、または "6000.3.8f1"
2UNITY_PROJECT_PATHProjectSettings/ProjectVersion.txt を読み取り、2022.3.62f1 を "2022" に、6000.3.8f1 を "6000.3" に変換します
3デフォルト"6"
  1. データベースのダウンロード。 該当するバージョンのデータベースがローカルにキャッシュされていない場合、GitHub からダウンロードします。Unity 6 のマイナー系列(6000.0、6000.3、6000.5、…)にはそれぞれ専用のデータベースがあり、系列のデータベースが公開されていない場合は汎用の 6 データベースにフォールバックします。起動時にキャッシュ済みデータベースの最新性をリリースと照合するため、毎週の再ビルドは既存のインストールにも自動的に反映されます。

  2. 提供。 すべてのツール呼び出しは、バージョン固有の SQLite データベースを検索します。各クエリの応答は15ミリ秒未満です。

各バージョンには、そのリリースに対応した正確なシグネチャー、非推奨の警告、メンバー一覧を含む専用データベースがあります。

ツール

ツール目的例
search_unity_apiキーワードで API を検索します"Tilemap SetTile"、"async load scene"
get_method_signatureすべてのオーバーロードを含む正確なシグネチャーを取得しますUnityEngine.Physics.Raycast
get_namespaceusing ディレクティブを特定します"SceneManager" -> using UnityEngine.SceneManagement;
get_class_referenceクラスの完全なリファレンスカードを取得します"InputAction" -> すべてのメソッド/フィールド/プロパティ
get_deprecation_warningsAPI が非推奨かどうかを確認します"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 + 対象を絞った Read24/25100
熟練(Grep+Read)20/25321
基本(全件 Read)19/25331

再現された 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_PATHUnity のインストールパスを上書き(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 ツールを開発しています。チームの技術スタック向けに同様のものが必要でしたら、ご連絡ください。

[email protected]

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。