ALTDOZA/unity-mcp
If you are the rightful owner of unity-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Unity MCP is a bridge that allows AI assistants to interact with the Unity Editor via a local Model Context Protocol (MCP) Client.
Unity MCP ✨
Create your Unity apps with LLMs!
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.
💬 Join Our Community
Discord
Get help, share ideas, and collaborate with other Unity MCP developers!
Key Features 🚀
- 🗣️ 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.
Available Tools
Your LLM can use functions like:
read_console: Gets messages from or clears the console.manage_script: Manages C# scripts (create, read, update, delete).manage_editor: Controls and queries the editor's state and settings.manage_scene: Manages scenes (load, save, create, get hierarchy, etc.).manage_asset: Performs asset operations (import, create, modify, delete, etc.).manage_shader: Performs shader CRUD operations (create, read, modify, delete).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").
How It Works 🤔
Unity MCP connects your tools using two components:
- Unity MCP Bridge: A Unity package running inside the Editor. (Installed via Package Manager).
- Unity MCP Server: A Python server that runs locally, communicating between the Unity Bridge and your MCP Client. (Installed manually).
Flow: [Your LLM via MCP Client] <-> [Unity MCP Server (Python)] <-> [Unity MCP Bridge (Unity Editor)]
Installation ⚙️
Note: The setup is constantly improving as we update the package. Check back if you randomly start to run into issues.
Prerequisites
-
Git CLI: For cloning the server code. Download Git
-
Python: Version 3.12 or newer. Download Python
-
Unity Hub & Editor: Version 2020.3 LTS or newer. Download Unity
-
uv (Python package manager):
pip install uv # Or see: https://docs.astral.sh/uv/getting-started/installation/ -
An MCP Client:
- Claude Desktop
- Claude Code
- Cursor
- Visual Studio Code Copilot
- (Others may work with manual config)
-
[Optional] Roslyn for Advanced Script Validation
For Strict validation level that catches undefined namespaces, types, and methods:
Method 1: NuGet for Unity (Recommended)
- Install NuGetForUnity
- Go to
Window > NuGet Package Manager - Search for
Microsoft.CodeAnalysis.CSharpand install the package - Go to
Player Settings > Scripting Define Symbols - Add
USE_ROSLYN - Restart Unity
Method 2: Manual DLL Installation
- Download Microsoft.CodeAnalysis.CSharp.dll and dependencies from NuGet
- Place DLLs in
Assets/Plugins/folder - Ensure .NET compatibility settings are correct
- Add
USE_ROSLYNto Scripting Define Symbols - Restart Unity
Note: Without Roslyn, script validation falls back to basic structural checks. Roslyn enables full C# compiler diagnostics with precise error reporting.
Step 1: Install the Unity Package (Bridge)
- Open your Unity project.
- Go to
Window > Package Manager. - Click
+->Add package from git URL.... - Enter:
https://github.com/justinpbarnett/unity-mcp.git?path=/UnityMcpBridge - Click
Add. - The MCP Server should automatically be installed onto your machine as a result of this process.
Step 2: Configure Your MCP Client
Connect your MCP Client (Claude, Cursor, etc.) to the Python server you installed in Step 1.
Option A: Auto-Configure (Recommended for Claude/Cursor/VSC Copilot)
- In Unity, go to
Window > Unity MCP. - Click
Auto Configureon the IDE you uses. - Look for a green status indicator 🟢 and "Connected". (This attempts to modify the MCP Client's config file automatically).
Option B: Manual Configuration
If Auto-Configure fails or you use a different client:
- Find your MCP Client's configuration file. (Check client documentation).
- Claude Example (macOS):
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Example (Windows):
%APPDATA%\Claude\claude_desktop_config.json
- Claude Example (macOS):
- Edit the file to add/update the
mcpServerssection, using the exact paths from Step 1.
Click for OS-Specific JSON Configuration Snippets...
Windows:
{
"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:
{
"mcpServers": {
"UnityMCP": {
"command": "uv",
"args": [
"run",
"--directory",
"/usr/local/bin/UnityMCP/UnityMcpServer/src",
"server.py"
]
}
// ... other servers might be here ...
}
}
(Replace YOUR_USERNAME if using ~/bin)
Linux:
{
"mcpServers": {
"UnityMCP": {
"command": "uv",
"args": [
"run",
"--directory",
"/home/YOUR_USERNAME/bin/UnityMCP/UnityMcpServer/src",
"server.py"
]
}
// ... other servers might be here ...
}
}
(Replace YOUR_USERNAME)
For Claude Code
If you're using Claude Code, you can register the MCP server using these commands:
macOS:
claude mcp add UnityMCP -- uv --directory /[PATH_TO]/UnityMCP/UnityMcpServer/src run server.py
Windows:
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
Usage ▶️
-
Open your Unity Project. The Unity MCP Bridge (package) should connect automatically. Check status via Window > Unity MCP.
-
Start your MCP Client (Claude, Cursor, etc.). It should automatically launch the Unity MCP Server (Python) using the configuration from Installation Step 3.
-
Interact! Unity tools should now be available in your MCP Client.
Example Prompt:
Create a 3D player controller,Create a yellow and bridge sun,Create a cool shader and apply it on a cube.
Future Dev Plans (Besides PR) 📝
🔴 High Priority
- Asset Generation Improvements - Enhanced server request handling and asset pipeline optimization
- Code Generation Enhancements - Improved generated code quality and error handling
- 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
🟡 Medium Priority
- 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
🟢 Low Priority
- 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
✅ Completed Features
- Shader Generation - Generate shaders using CGProgram template
- Advanced Script Validation - Multi-level validation with semantic analysis, namespace/type checking, and Unity best practices (Will need Roslyn Installed, see Prerequisite).
🔬 Research & Exploration
- 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
For Developers 🛠️
Development Tools
If you're contributing to Unity MCP or want to test core changes, we have development tools to streamline your workflow:
- 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 for complete development setup and workflow documentation.
Contributing 🤝
Help make Unity MCP better!
-
Fork the main repository.
-
Create a branch (
feature/your-ideaorbugfix/your-fix). -
Make changes.
-
Commit (feat: Add cool new feature).
-
Push your branch.
-
Open a Pull Request against the master branch.
Troubleshooting ❓
Click to view common issues and fixes...
-
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:
-
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).
-
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:
- Use the Manual Configuration steps. Auto-configure might lack permissions to write to the MCP client's config file.
Still stuck? Open an Issue or Join the Discord!
Contact 👋
License 📜
MIT License. See LICENSE file.
Acknowledgments 🙏
Thanks to the contributors and the Unity team.