Unity MCP Server
Provides AI assistants with structured access to Unity project metadata, build settings, and agent documentation directly from the filesystem. It enables querying project details and scene configurations without requiring the Unity Editor to be running.
README
Unity MCP Server
MCP server for Unity — Gives AI assistants (Cursor, Claude Desktop, etc.) structured access to your Unity project. No Unity Editor required.
<p align="center"> <img src="assets/unity-mcp-server-diagram.png" alt="Cursor / IDE → Unity MCP Server → Unity Project" width="720"> </p>
Your IDE talks to this server; the server reads your Unity project folder and answers with project info, build scenes, scripts, prefabs, and more — so the AI can help without opening the Editor.
Overview
- Editor-free — Reads only from the project filesystem.
- One server, many projects — Set
UNITY_PROJECT_PATHper project in your MCP config. - MCP-native — Works with any MCP client (Cursor, Claude Desktop, Windsurf).
Tools
Click a category to expand and see its tools.
<details open id="project-build"> <summary><strong>📦 Project & build</strong></summary>
| Tool | Description |
|---|---|
get_project_info |
Path, Unity version, build scene count, player/product name |
list_build_scenes |
Scenes in EditorBuildSettings (build order) |
get_player_settings |
Product name, company, bundle ID, version |
list_packages |
Packages from manifest.json |
get_quality_settings |
Quality levels |
get_scripting_defines |
Global and per-assembly defines |
get_physics_settings |
Physics / Physics2D settings |
get_graphics_settings |
Graphics settings (GraphicsSettings.asset) |
get_time_settings |
Time / fixed timestep (TimeManager.asset) |
get_build_target_info |
Active build target / platform |
get_feature_set_inference |
Infer Unity 6 feature sets from packages (2D, ECS, AR, etc.) |
get_project_version |
Bundle version |
get_changelog |
CHANGELOG contents |
</details>
<details id="code-assemblies"> <summary><strong>💻 Code & assemblies</strong></summary>
| Tool | Description |
|---|---|
list_assemblies |
Assembly definitions with references, platforms |
list_scripts |
C# scripts (optional folder filter) |
find_scripts_by_content |
By type/pattern (e.g. MonoBehaviour) |
get_assembly_dependency_graph |
Nodes and edges |
list_editor_scripts |
Scripts in Editor folders |
list_visual_scripting_assets |
Bolt / Unity Visual Scripting .asset files |
</details>
<details id="scenes-prefabs"> <summary><strong>🎬 Scenes & prefabs</strong></summary>
| Tool | Description |
|---|---|
list_all_scenes |
All .unity files under Assets |
get_scene_summary |
Root GameObjects, component count |
list_prefabs |
Prefabs (optional path prefix) |
get_prefab_script_guids |
Script GUIDs used by a prefab |
list_subscenes |
ECS/DOTS .subscene assets |
</details>
<details id="assets-references"> <summary><strong>📁 Assets & references</strong></summary>
| Tool | Description |
|---|---|
get_asset_folder_tree |
Folder tree under Assets |
list_assets_by_extension |
By extension (e.g. .png, .fbx) |
find_references |
Assets referencing a path or GUID |
list_large_assets |
Files over N MB (default 5) |
</details>
<details id="materials-shaders"> <summary><strong>🎨 Materials & shaders</strong></summary>
| Tool | Description |
|---|---|
list_materials |
Materials (optional folder) |
list_shaders |
.shader in Assets and Packages |
list_shader_graphs |
Shader Graph assets |
list_vfx_graphs |
VFX Graph assets |
</details>
<details id="animation"> <summary><strong>🎞️ Animation</strong></summary>
| Tool | Description |
|---|---|
list_animator_controllers |
.controller assets |
list_animation_clips |
.anim assets |
get_animator_states |
State names from a controller |
list_timeline_playables |
Timeline .playable assets |
</details>
<details id="2d-sprites"> <summary><strong>🖼️ 2D & sprites</strong></summary>
| Tool | Description |
|---|---|
list_sprite_atlases |
Sprite Atlas assets |
list_tilemap_assets |
Tilemap-related assets |
</details>
<details id="rendering"> <summary><strong>✨ Rendering</strong></summary>
| Tool | Description |
|---|---|
list_render_pipelines |
URP/HDRP pipeline assets, volume profiles |
</details>
<details id="textmeshpro-ui"> <summary><strong>📝 TextMeshPro & UI</strong></summary>
| Tool | Description |
|---|---|
list_tmp_fonts |
TMP/font assets |
get_tmp_settings_path |
TMP Settings asset path |
list_ui_documents |
.uxml and .uss (UI Toolkit) |
</details>
<details id="input"> <summary><strong>🎮 Input</strong></summary>
| Tool | Description |
|---|---|
get_input_axes |
InputManager axes |
list_input_action_assets |
New Input System .inputactions |
get_input_actions_summary |
Action maps and actions from a file |
</details>
<details id="tags-layers"> <summary><strong>🏷️ Tags & layers</strong></summary>
| Tool | Description |
|---|---|
get_tags_and_layers |
Tags and layers from TagManager |
</details>
<details id="addressables-localization"> <summary><strong>🌐 Addressables & localization</strong></summary>
| Tool | Description |
|---|---|
get_addressables_info |
Groups and config path |
get_localization_tables |
Localization table files |
</details>
<details id="audio"> <summary><strong>🔊 Audio</strong></summary>
| Tool | Description |
|---|---|
list_audio_clips |
.wav, .mp3, .ogg, .aiff |
list_audio_mixers |
Audio Mixer assets |
</details>
<details id="testing-docs"> <summary><strong>🧪 Testing & docs</strong></summary>
| Tool | Description |
|---|---|
list_test_assemblies |
Test assembly definitions |
get_repo_docs |
README, CONTRIBUTING, .cursorrules, etc. |
read_agent_docs |
.agents/AGENT.md, optional REPO_UNDERSTANDING.md |
</details>
<details id="ci-version-control"> <summary><strong>🔄 CI & version control</strong></summary>
| Tool | Description |
|---|---|
list_ci_configs |
.github/workflows, Jenkinsfile, unity-cloud-build |
list_presets |
.preset assets |
get_git_lfs_tracked |
LFS patterns from .gitattributes |
get_plastic_config |
Plastic SCM config |
</details>
<details id="integrations"> <summary><strong>🔌 Integrations</strong> (config discovery only)</summary>
| Tool | Description |
|---|---|
get_playfab_config |
Title ID, config paths |
list_figma_related_assets |
Figma folder / named assets |
get_firebase_config |
GoogleServices path, project ID |
get_steam_config |
steam_appid.txt, Steamworks path |
get_discord_config |
Discord SDK path |
get_fmod_config |
Banks path, bank files |
get_wwise_config |
Sound banks, project paths |
list_substance_assets |
.sbsar, .sbs |
list_speedtree_assets |
.spm, .stm |
list_lottie_assets |
Lottie JSON assets |
get_analytics_or_crash_config |
Sentry, Crashlytics, BugSnag, etc. |
get_ads_config |
Unity Ads, AdMob, ironSource presence |
</details>
<details id="speed"> <summary><strong>⚡ Speed & productivity</strong></summary>
| Tool | Description |
|---|---|
get_project_stats |
One-shot stats: scripts, prefabs, scenes, materials, animations, assemblies, packages |
get_scene_referenced_assets |
Asset paths referenced by a scene (build size / impact) |
detect_assembly_cycles |
Circular refs in assembly definitions (fix compile errors) |
find_script_references |
C# files that reference a type/class name (refactoring) |
get_broken_script_refs |
Prefabs/scenes with missing script refs |
get_prefab_dependencies |
Asset paths referenced by a prefab (impact analysis) |
</details>
All tools read from the project filesystem only.
Prerequisites
- Node.js 18+
- UNITY_PROJECT_PATH — Absolute path to your Unity project root (set in your MCP client)
Installation
git clone https://github.com/rachitkumarrastogi/unity-mcp-server.git
cd unity-mcp-server
npm install
npm run build
The server uses stdio; your MCP client starts it automatically.
Configuration (Cursor)
Add to your MCP settings:
{
"mcpServers": {
"unity": {
"command": "node",
"args": ["/absolute/path/to/unity-mcp-server/dist/index.js"],
"env": {
"UNITY_PROJECT_PATH": "/absolute/path/to/YourUnityProject"
}
}
}
}
Replace both paths with your actual paths. Other MCP clients: same pattern; set UNITY_PROJECT_PATH in the environment.
Development
- Run built:
node dist/index.js - Run dev:
npm run devornpx tsx src/index.ts
Security
No game code, assets, or secrets in this repo. The Unity project path is supplied at runtime by your MCP client. Safe for public or private use. Maintained anonymously.
More
- View on MCP Registry — Find this server in the official registry
- PURPOSE.md — Why this server exists and when to use it
- Search: Unity MCP server, MCP Unity
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.