2025-04-09 09:14:25 +08:00
# Unity MCP ✨
2025-03-18 19:00:50 +08:00
2025-08-10 03:05:47 +08:00
#### Proudly sponsored and maintained by [Coplay](https://www.coplay.dev/?ref=unity-mcp), the AI assistant for Unity. [Read the backstory here.](https://www.coplay.dev/blog/coplay-and-open-source-unity-mcp-join-forces)
[](https://discord.gg/y4p8KfzrN4)
2025-07-14 04:29:58 +08:00
[](https://unity.com/releases/editor/archive)
[](https://www.python.org)
[](https://modelcontextprotocol.io/introduction)
2025-08-10 03:05:47 +08:00


2025-07-14 04:29:58 +08:00
[](https://opensource.org/licenses/MIT)
2025-08-10 03:05:47 +08:00
[](https://www.coplay.dev/?ref=unity-mcp)
2025-07-14 04:29:58 +08:00
2025-07-30 04:07:21 +08:00
**Create your Unity apps with LLMs!**
2025-07-14 04:29:58 +08:00
2025-07-30 04:07:21 +08:00
Unity MCP acts as a bridge, allowing AI assistants (like Claude, Cursor) to interact directly with your Unity Editor via a local **MCP (Model Context Protocol) Client** . Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.
2025-07-14 04:29:58 +08:00
2025-07-30 04:07:21 +08:00
## 💬 Join Our Community
2025-07-14 04:29:58 +08:00
2025-08-10 03:05:47 +08:00
### [Discord](https://discord.gg/y4p8KfzrN4)
2025-07-30 04:07:21 +08:00
**Get help, share ideas, and collaborate with other Unity MCP developers!**
2025-03-18 19:21:33 +08:00
2025-04-09 09:14:25 +08:00
---
2025-03-18 19:00:50 +08:00
2025-04-09 09:14:25 +08:00
## Key Features 🚀
2025-03-18 19:00:50 +08:00
2025-04-09 09:14:25 +08:00
* ** 🗣️ Natural Language Control:** Instruct your LLM to perform Unity tasks.
* ** 🛠️ Powerful Tools:** Manage assets, scenes, materials, scripts, and editor functions.
* ** 🤖 Automation:** Automate repetitive Unity workflows.
* ** 🧩 Extensible:** Designed to work with various MCP Clients.
2025-03-18 19:00:50 +08:00
2025-07-14 14:01:25 +08:00
< details open >
< summary > < strong > Available Tools < / strong > < / summary >
2025-03-18 19:00:50 +08:00
2025-04-09 09:14:25 +08:00
Your LLM can use functions like:
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
* `read_console` : Gets messages from or clears the console.
* `manage_script` : Manages C# scripts (create, read, update, delete).
2025-08-10 03:05:47 +08:00
* `manage_editor` : Controls and queries the editor\'s state and settings.
2025-04-09 09:14:25 +08:00
* `manage_scene` : Manages scenes (load, save, create, get hierarchy, etc.).
* `manage_asset` : Performs asset operations (import, create, modify, delete, etc.).
2025-07-14 13:42:16 +08:00
* `manage_shader` : Performs shader CRUD operations (create, read, modify, delete).
2025-04-09 09:14:25 +08:00
* `manage_gameobject` : Manages GameObjects: create, modify, delete, find, and component operations.
* `execute_menu_item` : Executes a menu item via its path (e.g., "File/Save Project").
< / details >
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
---
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
## How It Works 🤔
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
Unity MCP connects your tools using two components:
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
1. **Unity MCP Bridge:** A Unity package running inside the Editor. (Installed via Package Manager).
2. **Unity MCP Server:** A Python server that runs locally, communicating between the Unity Bridge and your MCP Client. (Installed manually).
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
**Flow:** `[Your LLM via MCP Client] <-> [Unity MCP Server (Python)] <-> [Unity MCP Bridge (Unity Editor)]`
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
---
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
## Installation ⚙️
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
> **Note:** The setup is constantly improving as we update the package. Check back if you randomly start to run into issues.
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
### Prerequisites
2025-03-19 04:06:28 +08:00
2025-04-09 09:14:25 +08:00
* **Python:** Version 3.12 or newer. [Download Python ](https://www.python.org/downloads/ )
2025-08-15 06:13:21 +08:00
* **Unity Hub & Editor:** Version 2021.3 LTS or newer. [Download Unity ](https://unity.com/download )
2025-04-09 09:14:25 +08:00
* **uv (Python package manager):**
```bash
pip install uv
# Or see: https://docs.astral.sh/uv/getting-started/installation/
```
* **An MCP Client:**
* [Claude Desktop ](https://claude.ai/download )
2025-07-28 11:57:18 +08:00
* [Claude Code ](https://github.com/anthropics/claude-code )
2025-04-09 09:14:25 +08:00
* [Cursor ](https://www.cursor.com/en/downloads )
2025-07-14 04:06:32 +08:00
* [Visual Studio Code Copilot ](https://code.visualstudio.com/docs/copilot/overview )
2025-08-10 03:05:47 +08:00
* [Windsurf ](https://windsurf.com )
2025-04-09 09:14:25 +08:00
* *(Others may work with manual config)*
2025-07-24 11:31:47 +08:00
* < details > < summary >< strong > [Optional] Roslyn for Advanced Script Validation</ strong ></ summary >
For **Strict** validation level that catches undefined namespaces, types, and methods:
**Method 1: NuGet for Unity (Recommended)**
1. Install [NuGetForUnity ](https://github.com/GlitchEnzo/NuGetForUnity )
2. Go to `Window > NuGet Package Manager`
3. Search for `Microsoft.CodeAnalysis.CSharp` and install the package
5. Go to `Player Settings > Scripting Define Symbols`
6. Add `USE_ROSLYN`
7. Restart Unity
**Method 2: Manual DLL Installation**
1. Download Microsoft.CodeAnalysis.CSharp.dll and dependencies from [NuGet ](https://www.nuget.org/packages/Microsoft.CodeAnalysis.CSharp/ )
2. Place DLLs in `Assets/Plugins/` folder
3. Ensure .NET compatibility settings are correct
4. Add `USE_ROSLYN` to Scripting Define Symbols
5. Restart Unity
2025-08-10 03:05:47 +08:00
**Note:** Without Roslyn, script validation falls back to basic structural checks. Roslyn enables full C# compiler diagnostics with precise error reporting.</ details >
2025-03-19 04:06:28 +08:00
2025-08-14 22:29:17 +08:00
### 🌟Step 1: Install the Unity Package (Bridge)🌟
2025-03-18 19:00:50 +08:00
2025-04-09 09:14:25 +08:00
1. Open your Unity project.
2. Go to `Window > Package Manager` .
3. Click `+` -> `Add package from git URL...` .
4. Enter:
```
2025-08-10 03:05:47 +08:00
https://github.com/CoplayDev/unity-mcp.git?path=/UnityMcpBridge
2025-04-09 09:14:25 +08:00
```
5. Click `Add` .
6. The MCP Server should automatically be installed onto your machine as a result of this process.
2025-08-10 03:05:47 +08:00
**Note:** If you installed the MCP Server before Coplay's maintenance, you will need to uninstall the old package before re-installing the new one.
2025-04-09 09:14:25 +08:00
### Step 2: Configure Your MCP Client
Connect your MCP Client (Claude, Cursor, etc.) to the Python server you installed in Step 1.
2025-03-18 19:00:50 +08:00
2025-08-10 06:54:55 +08:00
< img width = "648" height = "599" alt = "UnityMCP-Readme-Image" src = "https://github.com/user-attachments/assets/b4a725da-5c43-4bd6-80d6-ee2e3cca9596" / >
2025-07-14 13:42:16 +08:00
2025-08-10 06:38:11 +08:00
**Option A: Auto-Setup (Recommended for Claude/Cursor/VSC Copilot)**
2025-03-18 19:00:50 +08:00
2025-04-09 09:14:25 +08:00
1. In Unity, go to `Window > Unity MCP` .
2025-08-10 06:38:11 +08:00
2. Click `Auto-Setup` .
2025-08-14 05:23:52 +08:00
3. Look for a green status indicator 🟢 and "Connected ✓". *(This attempts to modify the MCP Client\'s config file automatically).*
2025-08-14 22:29:17 +08:00
< details > < summary > < strong > Client-specific troubleshooting< / strong > < / summary >
2025-08-14 05:23:52 +08:00
2025-08-14 22:29:17 +08:00
- **VSCode**: uses `Code/User/mcp.json` with top-level `servers.unityMCP` and `"type": "stdio"` . On Windows, Unity MCP writes an absolute `uv.exe` (prefers WinGet Links shim) to avoid PATH issues.
- **Cursor / Windsurf** [(**help link**) ](https://github.com/CoplayDev/unity-mcp/wiki/1.-Fix-Unity-MCP-and-Cursor,-VSCode-&-Windsurf ): if `uv` is missing, the Unity MCP window shows "uv Not Found" with a quick [HELP] link and a "Choose UV Install Location" button.
- **Claude Code** [(**help link**) ](https://github.com/CoplayDev/unity-mcp/wiki/2.-Fix-Unity-MCP-and-Claude-Code ): if `claude` isn't found, the window shows "Claude Not Found" with [HELP] and a "Choose Claude Location" button. Unregister now updates the UI immediately.</ details >
2025-04-09 09:14:25 +08:00
**Option B: Manual Configuration**
2025-08-10 06:38:11 +08:00
If Auto-Setup fails or you use a different client:
2025-04-09 09:14:25 +08:00
2025-08-10 03:05:47 +08:00
1. **Find your MCP Client\'s configuration file.** (Check client documentation).
2025-04-09 09:14:25 +08:00
* *Claude Example (macOS):* `~/Library/Application Support/Claude/claude_desktop_config.json`
* *Claude Example (Windows):* `%APPDATA%\Claude\claude_desktop_config.json`
2. **Edit the file** to add/update the `mcpServers` section, using the *exact* paths from Step 1.
< details >
2025-08-14 05:23:52 +08:00
< summary > < strong > Click for Client-Specific JSON Configuration Snippets...< / strong > < / summary >
**VSCode (all OS)**
```json
{
"servers": {
"unityMCP": {
"command": "uv",
"args": ["--directory","< ABSOLUTE_PATH_TO > /UnityMcpServer/src","run","server.py"],
"type": "stdio"
}
}
}
```
On Windows, set `command` to the absolute shim, e.g. `C:\\Users\\YOU\\AppData\\Local\\Microsoft\\WinGet\\Links\\uv.exe` .
2025-04-09 09:14:25 +08:00
**Windows:**
```json
{
"mcpServers": {
"UnityMCP": {
"command": "uv",
"args": [
"run",
"--directory",
"C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\UnityMCP\\UnityMcpServer\\src",
"server.py"
]
}
// ... other servers might be here ...
}
}
```
(Remember to replace YOUR_USERNAME and use double backslashes \\)
**macOS:**
```json
{
"mcpServers": {
"UnityMCP": {
"command": "uv",
"args": [
"run",
"--directory",
"/usr/local/bin/UnityMCP/UnityMcpServer/src",
"server.py"
]
}
// ... other servers might be here ...
}
}
```
2025-08-10 03:05:47 +08:00
2025-04-09 09:14:25 +08:00
(Replace YOUR_USERNAME if using ~/bin)
**Linux:**
```json
{
"mcpServers": {
"UnityMCP": {
"command": "uv",
"args": [
"run",
"--directory",
"/home/YOUR_USERNAME/bin/UnityMCP/UnityMcpServer/src",
"server.py"
]
}
// ... other servers might be here ...
}
}
```
(Replace YOUR_USERNAME)
2025-07-30 04:07:21 +08:00
**For Claude Code**
2025-07-28 11:57:18 +08:00
2025-08-10 03:05:47 +08:00
If you\'re using Claude Code, you can register the MCP server using these commands:
2025-07-28 11:57:18 +08:00
**macOS:**
2025-08-10 03:05:47 +08:00
2025-07-28 11:57:18 +08:00
```bash
claude mcp add UnityMCP -- uv --directory /[PATH_TO]/UnityMCP/UnityMcpServer/src run server.py
```
**Windows:**
2025-08-10 03:05:47 +08:00
2025-07-28 11:57:18 +08:00
```bash
claude mcp add UnityMCP -- "C:/Users/USERNAME/AppData/Roaming/Python/Python313/Scripts/uv.exe" --directory "C:/Users/USERNAME/AppData/Local/Programs/UnityMCP/UnityMcpServer/src" run server.py
```
2025-07-30 04:07:21 +08:00
< / details >
2025-07-28 11:57:18 +08:00
2025-04-09 09:14:25 +08:00
---
## Usage ▶️
1. **Open your Unity Project.** The Unity MCP Bridge (package) should connect automatically. Check status via Window > Unity MCP.
2. **Start your MCP Client** (Claude, Cursor, etc.). It should automatically launch the Unity MCP Server (Python) using the configuration from Installation Step 3.
3. **Interact!** Unity tools should now be available in your MCP Client.
2025-07-14 14:01:25 +08:00
Example Prompt: `Create a 3D player controller` , `Create a yellow and bridge sun` , `Create a cool shader and apply it on a cube` .
2025-08-10 03:05:47 +08:00
2025-07-14 04:06:32 +08:00
---
2025-07-14 14:01:25 +08:00
## Future Dev Plans (Besides PR) 📝
### 🔴 High Priority
2025-08-10 03:05:47 +08:00
2025-07-14 14:01:25 +08:00
- [ ] **Asset Generation Improvements** - Enhanced server request handling and asset pipeline optimization
2025-07-24 11:31:47 +08:00
- [ ] **Code Generation Enhancements** - Improved generated code quality and error handling
2025-07-14 14:01:25 +08:00
- [ ] **Robust Error Handling** - Comprehensive error messages, recovery mechanisms, and graceful degradation
- [ ] **Remote Connection Support** - Enable seamless remote connection between Unity host and MCP server
- [ ] **Documentation Expansion** - Complete tutorials for custom tool creation and API reference
2025-07-14 04:06:32 +08:00
2025-07-14 14:01:25 +08:00
### 🟡 Medium Priority
2025-08-10 03:05:47 +08:00
2025-07-14 14:01:25 +08:00
- [ ] **Custom Tool Creation GUI** - Visual interface for users to create and configure their own MCP tools
- [ ] **Advanced Logging System** - Logging with filtering, export, and debugging capabilities
2025-07-14 04:06:32 +08:00
2025-07-14 14:01:25 +08:00
### 🟢 Low Priority
2025-08-10 03:05:47 +08:00
2025-07-14 14:01:25 +08:00
- [ ] **Mobile Platform Support** - Extended toolset for mobile development workflows and platform-specific features
- [ ] **Easier Tool Setup**
- [ ] **Plugin Marketplace** - Community-driven tool sharing and distribution platform
< details open >
< summary > < strong > ✅ Completed Features< strong > < / summary >
- [x] **Shader Generation** - Generate shaders using CGProgram template
2025-07-24 11:31:47 +08:00
- [x] **Advanced Script Validation** - Multi-level validation with semantic analysis, namespace/type checking, and Unity best practices (Will need Roslyn Installed, see [Prerequisite ](#prerequisites )).
2025-07-14 14:01:25 +08:00
< / details >
2025-07-14 04:06:32 +08:00
2025-07-14 14:01:25 +08:00
### 🔬 Research & Exploration
2025-08-10 03:05:47 +08:00
2025-07-14 14:01:25 +08:00
- [ ] **AI-Powered Asset Generation** - Integration with AI tools for automatic 3D models, textures, and animations
- [ ] **Real-time Collaboration** - Live editing sessions between multiple developers *(Currently in progress)*
- [ ] **Analytics Dashboard** - Usage analytics, project insights, and performance metrics
- [ ] **Voice Commands** - Voice-controlled Unity operations for accessibility
- [ ] **AR/VR Tool Integration** - Extended support for immersive development workflows
2025-04-09 09:14:25 +08:00
---
2025-07-30 04:07:21 +08:00
## For Developers 🛠️
### Development Tools
2025-08-10 03:05:47 +08:00
If you\'re contributing to Unity MCP or want to test core changes, we have development tools to streamline your workflow:
2025-07-30 04:07:21 +08:00
- **Development Deployment Scripts**: Quickly deploy and test your changes to Unity MCP Bridge and Python Server
- **Automatic Backup System**: Safe testing with easy rollback capabilities
- **Hot Reload Workflow**: Fast iteration cycle for core development
- **More coming!**
📖 **See [README-DEV.md](README-DEV.md)** for complete development setup and workflow documentation.
### Contributing 🤝
2025-04-09 09:14:25 +08:00
Help make Unity MCP better!
1. **Fork** the main repository.
2. **Create a branch** (`feature/your-idea` or `bugfix/your-fix` ).
3. **Make changes.**
4. **Commit** (feat: Add cool new feature).
5. **Push** your branch.
2025-08-10 03:05:47 +08:00
6. **Open a Pull Request** against the main branch.
2025-04-09 09:14:25 +08:00
---
## Troubleshooting ❓
< details >
< summary > < strong > Click to view common issues and fixes...< / strong > < / summary >
- **Unity Bridge Not Running/Connecting:**
- Ensure Unity Editor is open.
- Check the status window: Window > Unity MCP.
- Restart Unity.
- **MCP Client Not Connecting / Server Not Starting:**
2025-08-10 03:05:47 +08:00
- **Verify Server Path:** Double-check the --directory path in your MCP Client\'s JSON config. It must exactly match the location where you cloned the UnityMCP repository in Installation Step 1 (e.g., .../Programs/UnityMCP/UnityMcpServer/src).
- **Verify uv:** Make sure `uv` is installed and working (pip show uv).
2025-04-09 09:14:25 +08:00
- **Run Manually:** Try running the server directly from the terminal to see errors: `# Navigate to the src directory first! cd /path/to/your/UnityMCP/UnityMcpServer/src uv run server.py`
- **Permissions (macOS/Linux):** If you installed the server in a system location like /usr/local/bin, ensure the user running the MCP client has permission to execute uv and access files there. Installing in ~/bin might be easier.
- **Auto-Configure Failed:**
2025-08-10 03:05:47 +08:00
- Use the Manual Configuration steps. Auto-configure might lack permissions to write to the MCP client\'s config file.
2025-04-09 09:14:25 +08:00
< / details >
2025-08-10 03:05:47 +08:00
Still stuck? [Open an Issue ](https://github.com/CoplayDev/unity-mcp/issues ) or [Join the Discord ](https://discord.gg/y4p8KfzrN4 )!
2025-04-09 09:14:25 +08:00
2025-07-14 14:01:25 +08:00
---
## License 📜
2025-08-10 03:05:47 +08:00
MIT License. See [LICENSE ](LICENSE ) file.
2025-07-14 14:01:25 +08:00
2025-04-09 09:14:25 +08:00
---
2025-08-10 03:05:47 +08:00
## Star History
2025-07-14 04:29:58 +08:00
2025-08-10 03:05:47 +08:00
[](https://www.star-history.com/#CoplayDev/unity-mcp& Date)
2025-07-14 04:29:58 +08:00
2025-08-10 03:05:47 +08:00
## Sponsor
2025-07-14 04:29:58 +08:00
2025-08-10 03:05:47 +08:00
< p align = "center" >
< a href = "https://www.coplay.dev/?ref=unity-mcp" target = "_blank" rel = "noopener noreferrer" >
< img src = "logo.png" alt = "Coplay Logo" width = "100%" >
< / a >
< / p >