Unity API Documentation

io.github.Codeturion由 GitHub 帳號 Codeturion 發布v2.1.1更新於 Oct 24, 2026

Accurate Unity API docs (2022/2023/6) for AI agents. Prevents hallucinated signatures.

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

一個本機 MCP 伺服器,為 AI 助理提供 Unity 2022、2023 與 6 的準確 API 文件,用來核對方法簽章、命名空間與棄用資訊。

可以做什麼
依關鍵字搜尋 Unity API,涵蓋 UnityEngine、UnityEditor 以及 Input System、Addressables、uGUI/TextMeshPro、AI Navigation、Netcode 等套件。取得包含所有多載的精确方法簽章,以及列出方法、欄位與屬性的完整類別參考。解析某個型別應使用的 using 指示詞,並檢查 API 是否已棄用及其替代方案。所有結果來自本機依版本區分的 SQLite 資料庫查詢。
適用情境
適合助理撰寫或審查 Unity C# 程式碼時,需要核實确切的多載、命名空間或棄用狀態,而不是從用法範例推測。最適合使用 Unity 2022 LTS、2023 或 Unity 6,且依賴內建模組與上述 Unity 套件的專案。
執行需求
以 Python 套件形式在本機執行(需 Python 3.10 以上),可透過 uvx 或 pip 安裝,不需安裝 Unity。需設定 UNITY_VERSION(例如 2022、2023、6 或 6000.3 這類版本流),或設定 UNITY_PROJECT_PATH 從 ProjectSettings/ProjectVersion.txt 自動辨識;否則預設使用 Unity 6。首次執行需連網,從網路下載約 20-30 MB 的資料庫到使用者主目錄。
安裝前請注意
首次執行與啟動時會從 GitHub 下載並檢查資料庫是否為最新,因此需要網路存取,並會在使用者主目錄下寫入檔案。它只做唯讀的文件查詢,不會修改 Unity 專案。未收錄 DOTween、VContainer、Newtonsoft.Json 等第三方資源,這些函式庫的查詢結果不可信。README 建議在專案的助理設定檔追加一段說明,這會改動專案檔案。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Unity API Documentation,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

unity-api-mcp

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

MCP server that gives AI agents accurate Unity API documentation. Prevents hallucinated signatures, wrong namespaces, and deprecated API usage.

Supports Unity 6 (one database per minor stream), Unity 2023, and Unity 2022 LTS. Works with Claude Code, Cursor, Windsurf, or any MCP-compatible AI tool. No Unity installation required. See the supported versions. New Unity releases are detected and built automatically every week.

Quick Start

Add to your MCP config (.mcp.json, mcp.json, or your tool's MCP settings), setting UNITY_VERSION to match your project:

json
{  "mcpServers": {    "unity-api": {      "command": "uvx",      "args": ["unity-api-mcp"],      "env": {        "UNITY_VERSION": "6000.3"      }    }  }}

Valid values: a Unity 6 stream like "6000.3", or "6", "2023", "2022".

On first run the server downloads the correct database (~20-30 MB) to ~/.unity-api-mcp/.

How It Works

  1. Version detection. The server figures out which Unity version to serve:
PrioritySourceExample
1UNITY_VERSION env var"2022", "6", "6000.3", or "6000.3.8f1"
2UNITY_PROJECT_PATHReads ProjectSettings/ProjectVersion.txt, maps 2022.3.62f1 to "2022", 6000.3.8f1 to "6000.3"
3Default"6"
  1. Database download. If the database for that version isn't cached locally, it downloads from GitHub. Unity 6 minor streams (6000.0, 6000.3, 6000.5, …) get their own per-stream database, falling back to the generic 6 database when a stream database isn't published. Cached databases are freshness-checked against the release on startup, so weekly rebuilds reach existing installs automatically.

  2. Serve. All tool calls query the version-specific SQLite database. Every query returns in <15ms.

Each version has its own database with the correct signatures, deprecation warnings, and member lists for that release.

Tools

ToolPurposeExample
search_unity_apiFind APIs by keyword"Tilemap SetTile", "async load scene"
get_method_signatureExact signatures with all overloadsUnityEngine.Physics.Raycast
get_namespaceResolve using directives"SceneManager" -> using UnityEngine.SceneManagement;
get_class_referenceFull class reference card"InputAction" -> all methods/fields/properties
get_deprecation_warningsCheck if an API is obsolete"WWW" -> Use UnityWebRequest instead

Coverage

All UnityEngine and UnityEditor modules, plus packages parsed from C# source: Input System, Addressables, uGUI (incl. TextMeshPro on Unity 6), AI Navigation, and Netcode. ~42,500 records per Unity 6 database, ~500 deprecation warnings each.

Full version list: db-v1 release page. CI regenerates that table on every build. New Unity patches are detected and built automatically every Monday.

Does not cover third-party assets (DOTween, VContainer, Newtonsoft.Json). For those, rely on project source.

Benchmarks

Measured, not promised: 25 research questions across 3 testbeds, answered by 3 agent configs, every answer judged against ground truth verified in the source beforehand. The full harness lives in docs/benchmark/ and re-runs with one command.

[Answer quality by agent config, judged against verified ground truth]
ConfigCorrectPartialWrongHallucinated APIs
MCP + targeted Read24/25100
Skilled (Grep+Read)20/25321
Naive (full Reads)19/25331

The one reproduced hallucination is instructive. Asked to list the overloads of SceneManager.LoadSceneAsync, both non-MCP agents invented single-parameter LoadSceneAsync(string) and LoadSceneAsync(int) overloads that do not exist. Code written against them does not compile. The MCP agent returned the exact four real overloads.

Why correctness and not token savings? Agentic tools are good at code search now. Claude Code has shipped a Grep tool from the start, and current models search first and then read a narrow line range, so raw token use was comparable across all configs in our runs. But exact overloads, namespaces, and deprecations are not in your project files at all. An agent without MCP can only infer them from usage examples, and when it infers wrong you pay with a broken build.

Methodology
  • 3 testbeds: a real Unity 6 game project (11 questions), pure Unity API lookups (8), and Unity Input System package source with 2,700 to 4,600 line files (6)
  • 3 configs, same model and turn limit: MCP tools + Grep/Read, Grep/Read only, Read only
  • Ground truth verified by reading the source before any runs; answers judged by a separate model session against that ground truth; token usage taken from API usage fields
  • Run it yourself: python docs/benchmark/run.py --project <unity-project-path> (results from July 2026; agent behavior moves, so re-run before quoting)

CLAUDE.md Snippet

Add this to your project's CLAUDE.md (or equivalent instructions file). This step is important. Without it, the AI has the tools but won't know when to reach for them.

markdown
## 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)

Setup Details

Auto-detect version from project path

Instead of setting UNITY_VERSION, you can point to your Unity project. The server reads ProjectSettings/ProjectVersion.txt automatically:

json
{  "mcpServers": {    "unity-api": {      "command": "uvx",      "args": ["unity-api-mcp"],      "env": {        "UNITY_PROJECT_PATH": "/path/to/your/unity-project"      }    }  }}
Alternative installation methods

Using pip install:

bash
pip install unity-api-mcp
json
{  "mcpServers": {    "unity-api": {      "command": "unity-api-mcp",      "args": [],      "env": {        "UNITY_VERSION": "6000.3"      }    }  }}
Environment variables
VariablePurposeExample
UNITY_VERSIONUnity version to serve6000.3, 6000.3.8f1, 6, 2023, 2022
UNITY_PROJECT_PATHAuto-detect version from projectF:/Unity Projects/my-project
UNITY_INSTALL_PATHOverride Unity install path (for ingest only)D:/Unity/6000.3.8f1
Building databases locally

If you want to build a database from your own Unity installation instead of downloading:

bash
# Install with ingest dependenciespip install unity-api-mcp[ingest]
# Windowspython -m unity_api_mcp.ingest --unity-version 6000.3 --unity-install "D:/Unity/6000.3.8f1" --project "F:/Unity Projects/MyProject"
# macOSpython -m unity_api_mcp.ingest --unity-version 6000.3 --unity-install "/Applications/Unity/Hub/Editor/6000.3.20f1" --project "/path/to/UnityProject"
# Legacy versionspython -m unity_api_mcp.ingest --unity-version 2022 --unity-install "D:/Unity/2022.3.62f1"

Databases are written to ~/.unity-api-mcp/unity_docs_{version}.db by default.

AI-Assisted Setup

If an AI agent is setting this up for you:

Add unity-api-mcp to my MCP config using uvx with UNITY_VERSION set to match my project, append the CLAUDE.md snippet from the README, and verify with get_namespace("SceneManager").

Project structure
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

Databases are stored in ~/.unity-api-mcp/ (downloaded on first run).

Troubleshooting

ProblemFix
"Could not download Unity X database"Check internet connection. Or build locally: python -m unity_api_mcp.ingest --unity-version 2022
Wrong API version being servedSet UNITY_VERSION explicitly. Check stderr: unity-api-mcp: serving Unity <version> API docs
Server won't startCheck python --version (needs 3.10+). Check path: which unity-api-mcp or where unity-api-mcp
ModuleNotFoundError: No module named 'mcp.server.fastmcp'Version 2.1.0 or older installed mcp 2.x. Restart your MCP client, or run uvx unity-api-mcp@latest. With pip, run pip install -U unity-api-mcp.
Third-party packages return no resultsDOTween, VContainer, Newtonsoft.Json are not indexed (third-party, not Unity packages)

See Also

unreal-api-mcp: same concept for Unreal Engine (C++), with weekly auto-built databases per UE version.

Contact

Need a custom MCP server for your engine or framework? I build MCP tools that cut token waste and prevent hallucinations for AI-assisted game development. If you want something similar for your team's stack, reach out.

[email protected]

License

MIT

來源:README.md,提交 3f65d1d

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v2.1.1最新Oct 12, 2026
  2. v2.1.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分