akiojin/unity-mcp-server
If you are the rightful owner of unity-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Unity Editor MCP is a protocol server that enables LLM-based clients to automate the Unity Editor, focusing on reliable, scriptable workflows with minimal configuration.
Unity MCP Server
English |
Overview
Unity MCP Server lets LLM-based clients automate the Unity Editor. It focuses on reliable, scriptable workflows with a simple interface and zero or low-configuration setup.
What It Can Do
- Editor automation: Create/modify scenes, GameObjects, components, prefabs, materials
- UI automation: Locate and interact with UI, validate UI state
- Input simulation: Keyboard/mouse/gamepad/touch for playmode testing (Input System only)
- Visual capture: Deterministic screenshots from Game/Scene/Explorer/Window views
- Code base awareness: Safe structured edits and accurate symbol/search powered by bundled C# LSP (no
.slnfile required) - Project control: Read/update project/editor settings; read logs, monitor compilation
- Addressables management: Register/organize assets, manage groups, build automation
Performance
Code index tools outperform standard file operations:
| Operation | Code Index Tool | Standard Tool | Advantage |
|---|---|---|---|
| Symbol lookup | find_symbol | grep | Instant vs 350ms |
| Reference search | find_refs | grep | Structured results |
| Code search | search | grep | 3-5x smaller responses |
Key benefits:
- 128,040 files indexed with 100% coverage
- Non-blocking background index builds (Worker Threads)
- LLM-optimized output with pagination and size limits
For detailed benchmarks, see
Requirements
- Unity 2020.3 LTS or newer
- Node.js 18.x / 20.x / 22.x / 24.x LTS (25+ not supported)
- Claude Desktop or another MCP-compatible client
Installation
Unity Package
Package Manager → Add from git URL:
https://github.com/akiojin/unity-mcp-server.git?path=UnityMCPServer/Packages/unity-mcp-server
Or via OpenUPM:
openupm add com.akiojin.unity-mcp-server
MCP Client Configuration
Configure your MCP client (Claude Desktop example):
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"unity-mcp-server": {
"command": "npx",
"args": ["@akiojin/unity-mcp-server@latest"]
}
}
}
HTTP Mode (for HTTP-only networks)
npx @akiojin/unity-mcp-server --http 6401 --no-telemetry
curl http://localhost:6401/healthz
Quick Start
- Install the Unity package (Git URL or OpenUPM)
- Configure your MCP client with the JSON above
- Open your Unity project (package starts TCP listener on port 6400)
- Launch your MCP client (it connects to the Node server)
- Test the connection with
ping
Tip:
npx @akiojin/unity-mcp-server@latestdownloads and runs the latest build without cloning.
Architecture
┌────────────────┐ JSON-RPC (MCP) ┌──────────────────────┐
│ MCP Client │ ───────────────────────────▶ │ Node MCP Server │
│ (Claude/Codex/ │ ◀─────────────────────────── │ (@akiojin/unity- │
│ Cursor …) │ tool responses │ mcp-server) │
└────────────────┘ └──────────┬───────────┘
TCP│6400
▼
┌───────────────────┐
│ Unity Editor │
│ (Package opens │
│ TCP listener) │
└───────────────────┘
Configuration
Configuration is optional; defaults work without any config file.
Node-side configuration uses environment variables only, and Unity-side host/port lives in Project Settings.
See .
Tools
Unity MCP Server ships 100+ tools. Use the search_tools meta-tool to discover the right tool quickly.
For clients with strict tool-count limits, you can filter exposed tools by category:
export UNITY_MCP_TOOL_INCLUDE_CATEGORIES=system,scene,gameobject,analysis,script
export UNITY_MCP_TOOL_EXCLUDE_CATEGORIES=ui,input,addressables,video,screenshot,profiler
See for discovery tips and the recommended Code Index workflow.
Note: find_refs supports paging via startAfter and returns cursor when results are truncated.
Claude Code Skills
This package includes Claude Code skills that provide workflow-oriented guidance for effectively using the 108+ tools.
Available Skills
| Skill | Description | Triggers |
|---|---|---|
mcp-server-development | Build MCP servers (TypeScript SDK), implement tools/resources/prompts, JSON-RPC patterns | "MCP server", "tool handler", "JSON-RPC", "TypeScript" |
unity-csharp-editing | C# script editing, search, refactoring with TDD workflow | "C# edit", "script search", "refactoring" |
unity-scene-management | Scene, GameObject, Component management | "scene create", "GameObject", "component add" |
unity-playmode-testing | PlayMode control, input simulation, UI automation | "playmode", "input simulate", "UI click" |
unity-asset-management | Prefab, Material, Addressables management | "prefab create", "material", "Addressables" |
unity-editor-imgui-design | Unity Editor IMGUI for EditorWindow/Inspector/PropertyDrawer (not for in-game UI) | "EditorWindow", "Custom Inspector", "PropertyDrawer", "IMGUI" |
unity-game-ugui-design | In-game uGUI (Canvas/RectTransform/Anchors) UI design | "uGUI", "Canvas", "RectTransform", "Anchors", "HUD" |
unity-game-ui-toolkit-design | In-game UI Toolkit (UXML/USS/Flexbox) UI design | "UI Toolkit", "UXML", "USS", "VisualElement", "Flexbox" |
Installation
Install as a Claude Code plugin from GitHub:
# Step 1: Add marketplace
/plugin marketplace add akiojin/unity-mcp-server
# Step 2: Install plugin
/plugin install unity-mcp-server@unity-mcp-server
Or manually copy the .claude/skills/ directory to your project.
Usage
Skills activate automatically when you mention related keywords. You can also invoke them directly:
# Ask about C# editing workflow
"How do I edit Unity C# scripts?"
# Ask about scene management
"Create a new scene with basic lighting"
# Ask about testing
"How do I simulate keyboard input in playmode?"
Troubleshooting
See .
OpenUPM Scoped Registry
To use OpenUPM packages, add the scoped registry to your project:
Via Project Settings
Edit > Project Settings > Package Manager- Under Scoped Registries, click +
- Add:
- Name:
OpenUPM - URL:
https://package.openupm.com - Scopes:
com.akiojin,com.akiojin.unity-mcp-server
- Name:
Via manifest.json
"scopedRegistries": [
{
"name": "OpenUPM",
"url": "https://package.openupm.com",
"scopes": ["com.akiojin", "com.akiojin.unity-mcp-server"]
}
]
Repository Structure
.unity/
├── cache/ # Local caches (git-ignored)
└── capture/ # Screenshots/videos (git-ignored)
UnityMCPServer/
├── Packages/unity-mcp-server/ # UPM package (source)
└── Assets/ # Samples only
mcp-server/ # Node MCP server
csharp-lsp/ # Roslyn-based LSP tool
Feature Documentation
All features are documented with SDD format:
Contributing
See for development setup, commit guidelines, and PR process.
Development Documentation
For internal development details (Spec Kit, release process, LLM optimization):
License
MIT License - see file.