Unity Code MCP is a coding focused Model Context Protocol (MCP) server that enables AI agents to write Unity code autonomously.
Unity Code MCP is a high-performance, coding-focused MCP server built in Rust. It handles Unity's compilation cycles gracefully while providing only the essential tools needed for autonomous code development: compilation feedback and test execution.
This MCP server enables AI agents to develop Unity code autonomously with exceptional speed and reliability - write code, compile, fix compile errors, test, fix bugs, repeat, just like how a human would.
- 🤖 Coding-Optimized: Streamlined tools designed for efficient AI agent coding workflows
- ⚡ High Performance: Built in Rust for exceptional speed, minimal memory usage, and lightning-fast response times
- 🎯 Efficient Communication: Minimal token usage with essential operations, only returns relevant information
- 🧪 Test-Driven: Comprehensive test execution and reporting capabilities
- 📦 Self-Contained: Single binary with no runtime dependencies (no Node.js, Python, or .NET required)
Unity Code MCP provides 2 tools for autonomous code development:
- Triggers Unity compilation and asset processing
- Returns compile errors and other non compile warning and errors only include the logs during the refresh
- Handles domain reload gracefully
Asset database refresh tool in action:
- Runs Unity tests with comprehensive reporting
- Provides detailed stack traces and logs for failures
- Supports both EditMode and PlayMode tests
Test execution tool in action:
Once configured, AI agents can develop Unity code completely autonomously:
User: "Create a player controller that moves with WASD keys and has jump functionality. Make sure it's fully tested."
AI: I'll create a complete player controller with movement and jumping, then write comprehensive tests.
1. [AI writes PlayerController.cs with movement logic]
2. [AI calls: refresh_asset_database]
→ Result: "Compilation failed: CS0246: The type or namespace name 'Rigidbody' could not be found"
3. [AI fixes the missing using UnityEngine; statement]
4. [AI calls: refresh_asset_database]
→ Result: "Compilation successful, no errors"
5. [AI writes PlayerControllerTests.cs with movement and jump tests]
6. [AI calls: run_tests]
→ Result: "5 tests passed, 2 tests failed: NullReferenceException in Jump_ShouldApplyUpwardForce, ArgumentException in Move_WithInvalidInput"
7. [AI analyzes failures and fixes null reference and input validation bugs]
8. [AI calls: refresh_asset_database]
→ Result: "Compilation successful, no errors"
9. [AI calls: run_tests]
→ Result: "All 7 tests passed successfully"
AI: ✅ Complete! Created a fully functional PlayerController with WASD movement, jump mechanics, and comprehensive test coverage. All tests are passing.
This demonstrates true autonomous development - from user request to fully tested, working Unity code without any human intervention.
AI agent in action, tell Kimi K2 to fix compile errors in Unity project with no context:
- Unity 6.0 or higher
- Rust toolchain (for building from source)
- CMake and a C compiler (required for building dependencies)
Install the Visual Studio Code Editor package in your Unity project.
Option A: Download Release (Recommended) (Windows Only)
- Download the latest binary from the Releases page
Option B: Build from Source
cargo build --release
Add the MCP server to your AI assistant configuration:
For Claude Desktop/Cursor/Trae:
{
"mcpServers": {
"unity-code": {
"command": "/path/to/unity-code-mcp",
"env": {
"UNITY_PROJECT_PATH": "/path/to/your/unity/project"
}
}
}
}
For VS Code with MCP Extension:
{
"mcp.servers": {
"unity-code": {
"command": "/path/to/unity-code-mcp",
"args": [],
"env": {
"UNITY_PROJECT_PATH": "/path/to/your/unity/project"
}
}
}
}
Important: Use absolute paths for both the binary and Unity project directory.
The code is cross platform, but I can't build or test for other platforms, because I only use Windows. If there are platform specific bugs, you have to fix them yourself.
To run the test suite:
-
Start Unity Editor with the embedded test project:
# Open Unity Editor and load the project at: # ./UnityProject
-
Run tests (single-threaded to avoid Unity conflicts):
cargo test -- --test-threads=1
Note: Tests require a running Unity Editor instance with the embedded project loaded. Tests may take 30-60 seconds to complete due to Unity Editor interactions.
- C Compiler: Required for building
aws-lc-rs
dependency- Windows: MSVC (Visual Studio Build Tools)
- macOS: Xcode Command Line Tools (
xcode-select --install
) - Linux: GCC (
sudo apt-get install build-essential
on Ubuntu/Debian)
- CMake: Required for building the
aws-lc-rs
dependency- Windows: Follow the official guide
- macOS:
brew install cmake
- Linux:
sudo apt-get install cmake
(Ubuntu/Debian)
# Debug build
cargo build
# Release build (recommended for production)
cargo build --release
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Run tests with
cargo test -- --test-threads=1
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Visual Studio Code Editor for Unity - Required Unity package
- Model Context Protocol - The protocol specification
- Unity Code Pro VS Code Extension - VS Code extension that is related