Provides a Unity MCP server enabling runtime AI, code generation, and debugging by connecting MCP clients to Unity via streamableHttp or stdio transports.
Configuration
View docs{
"mcpServers": {
"ivanmurzak-unity-mcp": {
"url": "http://localhost:8080",
"headers": {
"MCP_PLUGIN_PORT": "8080",
"MCP_PLUGIN_CLIENT_TIMEOUT": "10000",
"MCP_PLUGIN_CLIENT_TRANSPORT": "streamableHttp"
}
}
}
}Unity MCP is an AI-powered bridge that lets you connect large language models directly to your Unity project, enabling runtime AI for NPCs, debugging, and automated workflows inside your game or editor. It supports multiple MCP clients and deployment options, so you can run locally or remotely and iterate quickly using AI-assisted development.
Connect Unity MCP to an MCP Client (such as Claude, Cursor, or Windsurf) through the built-in AI Connector window. You can run the MCP Server locally or host it remotely, and you can expose new features by adding MCP Tools, MCP Resources, or MCP Prompts in your project. When you talk to the AI, describe your task clearly to get better results, and use the Agent mode in your MCP client to enable smart interactions.
Prerequisites: ensure you have a Unity project and Docker installed if you plan to run the MCP Server in a container. A compatible Unity version is recommended for best stability.
Step 1: Install Unity MCP Plugin
Option 1 - Installer
⬇️ Download Installer - Import the package into your Unity project by double-clicking the file or using Unity: Assets/Import Package/Custom Package and selecting the file.
Option 2 - OpenUPM-CLI
⬇️ Install OpenUPM-CLI - Open the command line in your Unity project folder - Run: openupm add com.ivanmurzak.unity.mcp
openupm add com.ivanmurzak.unity.mcpChoose a single MCP Client you prefer. This will be your main chat window to communicate with the LLM. Options include Claude Code, Claude Desktop, GitHub Copilot in VS Code, Cursor, Windsurf, or any other supported client.
> The MCP protocol is universal, so you can use any MCP client that supports dynamic MCP Tool updates.
Automatic configuration:
- Open Unity project - Open Window/AI Game Developer (Unity-MCP) - Click Configure at your MCP client
If automatic configuration doesn’t work, use the JSON shown in the Unity-MCP window to configure any MCP Client manually.
Manual configuration must provide the same server connection details your client uses.
Create <code>command</code> for your environment using the table below. Replace <code><unityProjectPath></code> with your Unity project path and <code><port></code> with your configured port.
# Windows x64
"<unityProjectPath>/Library/mcp-server/win-x64/unity-mcp-server.exe" port=<port> client-transport=stdio
# Windows x86
"<unityProjectPath>/Library/mcp-server/win-x86/unity-mcp-server.exe" port=<port> client-transport=stdio
# Windows arm64
"<unityProjectPath>/Library/mcp-server/win-arm64/unity-mcp-server.exe" port=<port> client-transport=stdio
# MacOS Apple-Silicon
"<unityProjectPath>/Library/mcp-server/osx-arm64/unity-mcp-server" port=<port> client-transport=stdio
# MacOS Apple-Intel
"<unityProjectPath>/Library/mcp-server/osx-x64/unity-mcp-server" port=<port> client-transport=stdio
# Linux x64
"<unityProjectPath>/Library/mcp-server/linux-x64/unity-mcp-server" port=<port> client-transport=stdio
# Linux arm64
"<unityProjectPath>/Library/mcp-server/linux-arm64/unity-mcp-server" port=<port> client-transport=stdiogemini mcp add ai-game-developer <command>claude mcp add ai-game-developer <command>copilot
```
```bash
/mcp addCopy the asset at a path to a new location within the Unity project.
Create a new folder inside a specified parent folder.
Delete assets at given paths from the project.
Search the asset database using a filter string.
Retrieve data from an asset file including serializable fields and properties.
Modify asset files within the project.
Move or rename assets within the project.
Refresh the AssetDatabase to reflect changes.
Create a new Material asset with default parameters.
List all available shaders in project assets and packages.
Instantiate a prefab in the current active scene.
Open a prefab for editing.
Close the currently opened prefab editing session.
Save changes to a prefab.
Create a new GameObject in a scene or opened prefab.
Destroy GameObject and all nested children.
Duplicate selected GameObjects.
Find a GameObject by specified criteria.
Set the parent of a GameObject in the hierarchy.
Add a Component to a GameObject.
Get or describe a Component on a GameObject.
Read the content of a script file.
Compile and run C# code dynamically via Roslyn.
Update or create a script with provided C# code.
Retrieve Unity Editor logs with filters.