
Unity-MCP by IvanMurzak, a community Unity MCP server
Lets Claude, Cursor and other AI assistants build scenes, edit assets and write C# scripts inside the Unity Editor.
Unity-MCP lets Claude, Cursor and other AI assistants work inside the Unity Editor. They can build scenes, change objects and assets, write C# scripts and run tests. It can also run any C# code and delete assets and scripts, and the local server asks for no sign-in. Keep your project in version control before you let an agent loose on it.
Good for
- Unity developers who want an assistant to edit scenes, materials and scripts for them
- Solo and indie game makers prototyping layouts and objects fast
- Teams that want to expose their own game tools to an AI agent
- Developers who want an AI to play or test a built game through custom runtime tools
Works in
6 supported · 5 with issues · 3 should work
Tap an app to see how to set it up and any known problems.
The vendor recommends it and shows the setup in Unity's AI Game Developer window.
Known problems
- Closed
Connection timed out over HTTP for one Windows user while stdio worked
Workaround: Switch the client to stdio; HTTP later worked with a newer Claude Code.
Reported Oct 2026 · GitHub
The vendor docs cover it, and Unity's window can set it up for you. ai-game.dev
The README shows how to add it from the Copilot command line. GitHub
The vendor docs give a standard config, and Unity's window has a Cline option. ai-game.dev
The vendor docs cover JetBrains Rider. ai-game.dev
The vendor docs cover it, and Unity's window has an OpenCode option. ai-game.dev
Documented, but the connection can turn red after sitting idle.
Known problems
- Open
HTTP connection turns red after 10 to 15 idle minutes and does not reconnect
Workaround: Toggle the server off and on in Cursor's MCP settings, or use Cloud mode with Skills.
Since May 2026 · GitHub
- Fixed
Tools were listed but every call failed with a schema error
Workaround: Update the plugin to 0.22.1 or later.
Reported Nov 2025 · GitHub
Documented, but the connection can drop and Copilot with Claude models can fail on calls.
Listed as supported but has no one-click setup, and tool calls fail for some users.
Known problems
- Open
Tool calls fail with an invalid arguments error in both stdio and HTTP mode
Since Apr 2026 · GitHub
Documented, but Codex in VS Code may ignore the project config Unity writes.
Known problems
- Open
Codex in VS Code may ignore the project-level config and read only the global one
Since Feb 2026 · GitHub
The README covers it, but some users get connection errors.
Known problems
- Open
Users report connection errors after setting it up through the JSON file
Workaround: Add the server with the terminal command from Unity's window, not the JSON file.
Since Apr 2026 · GitHub
Supports hosted MCP servers.
Supports local MCP servers.
Supports hosted MCP servers.
Install Unity-MCP (AI Game Developer)
Claude Code
- 1
Install the plugin in your Unity project: import the AI-Game-Dev-Installer.unitypackage or run `openupm add com.ivanmurzak.unity.mcp`.
- 2
Open the project in Unity, then open Window > AI Game Developer.
- 3
In the window, click Configure MCP (or Auto-generate skills, which the project recommends) and pick Claude Code. If your client is not listed, copy the raw JSON the window shows into its MCP config.
- 4
Restart Claude Code so it picks up the new server.
Requires Unity project (path without spaces), ai-game.dev account.
This is not a standalone server: a Unity plugin runs inside your project and talks to the AI client. The project path cannot contain spaces. Sign-in is an OAuth browser flow with ai-game.dev (unity-mcp-cli login for the CLI route), and the config written for your client points at a per-project address on ai-game.dev. Your AI client has to support Skills or dynamic MCP tool updates. A self-hosted server (Docker image aigamedeveloper/mcp-server, or stdio) is also supported; see the README's Unity MCP Server setup.
From the project README. Source.
Tools
Searches your project's assets
Searches your project's assets.
Try: “Find all materials in my project”
Read ·
assets-findReads the data of an asset file
Reads the data of an asset file.
Try: “Show the settings of this material”
Read ·
assets-get-dataFinds a GameObject in the scene
Finds a GameObject in the scene.
Try: “Find the Player object”
Read ·
gameobject-findLists the top-level objects in a scene
Lists the top-level objects in a scene.
Try: “What is in my main scene?”
Read ·
scene-get-dataLists the scenes open in the editor
Lists the scenes open in the editor.
Try: “Which scenes are open?”
Read ·
scene-list-openedReads the Unity console logs
Reads the Unity console logs.
Try: “Show me the latest errors in the console”
Read ·
console-get-logsTakes a screenshot of the Game view
Takes a screenshot of the Game view.
Try: “Take a screenshot of the Game view”
Read ·
screenshot-game-viewTakes a screenshot of the Scene view
Takes a screenshot of the Scene view.
Try: “Take a screenshot of the Scene view”
Read ·
screenshot-scene-viewTakes a screenshot from a camera
Takes a screenshot from a camera.
Try: “Capture what the main camera sees”
Read ·
screenshot-cameraRenders one object on its own from a chosen angle
Renders one object on its own from a chosen angle.
Try: “Show the Player model from the front”
Read ·
screenshot-isolatedReads a script file
Reads a script file.
Try: “Show me PlayerController.cs”
Files ·
script-readReads the data of a Unity object
Reads the data of a Unity object.
Try: “Show the data of the selected object”
Read ·
object-get-dataShows details of one component on an object
Shows details of one component on an object.
Try: “Show the Rigidbody on the Player”
Read ·
gameobject-component-getLists the available component types
Lists the available component types.
Try: “What component types can I add?”
Read ·
gameobject-component-list-allShows whether the editor is playing, paused or compiling
Shows whether the editor is playing, paused or compiling.
Try: “Is the editor in play mode?”
Read ·
editor-application-get-stateShows what is selected in the editor
Shows what is selected in the editor.
Try: “What do I have selected?”
Read ·
editor-selection-getSearches the editor's built-in assets
Searches the editor's built-in assets.
Try: “Find the built-in default sphere mesh”
Read ·
assets-find-built-inShows details of a shader
Shows details of a shader.
Try: “Show the properties of this shader”
Read ·
assets-shader-get-dataLists the shaders in your project and packages
Lists the shaders in your project and packages.
Try: “List all shaders”
Read ·
assets-shader-list-allLists the installed packages
Lists the installed packages.
Try: “Which packages are installed?”
Read ·
package-listSearches the package registry and installed packages
Searches the package registry and installed packages.
Try: “Search for the Cinemachine package”
Network ·
package-searchFinds a C# method in the project
Finds a C# method in the project.
Try: “Find the method named TakeDamage”
Read ·
reflection-method-findGenerates a JSON Schema for a C# type
Generates a JSON Schema for a C# type.
Try: “Give me a JSON schema for PlayerStats”
Read ·
type-get-json-schemaCreates a new GameObject
Creates a new GameObject.
Try: “Create an empty object called Spawner”
Write ·
gameobject-createDuplicates GameObjects
Duplicates GameObjects.
Try: “Duplicate the Enemy object three times”
Write ·
gameobject-duplicateMoves objects under a new parent
Moves objects under a new parent.
Try: “Put the Wheel objects under the Car”
Write ·
gameobject-set-parentChanges an object or its components
Changes an object or its components.
Try: “Move the Player to 0,1,0”
Write ·
gameobject-modifyAdds a component to an object
Adds a component to an object.
Try: “Add a Rigidbody to the Crate”
Write ·
gameobject-component-addChanges a component on an object
Changes a component on an object.
Try: “Set the Rigidbody mass to 5”
Write ·
gameobject-component-modifyChanges a Unity object
Changes a Unity object.
Try: “Change this object's name”
Write ·
object-modifyCreates a new scene
Creates a new scene.
Try: “Create a scene called Level2”
Write ·
scene-createOpens a scene
Opens a scene.
Try: “Open the Level2 scene”
Write ·
scene-openSaves the open scene
Saves the open scene.
Try: “Save the scene”
Write ·
scene-saveSets which open scene is active
Sets which open scene is active.
Try: “Make Level2 the active scene”
Write ·
scene-set-activeCreates a folder in the project
Creates a folder in the project.
Try: “Create a Prefabs/Enemies folder”
Write ·
assets-create-folderCopies an asset
Copies an asset.
Try: “Copy this material”
Write ·
assets-copyMoves or renames an asset
Moves or renames an asset.
Try: “Rename the material to Brick”
Write ·
assets-moveChanges an asset file
Changes an asset file.
Try: “Change this material's color”
Write ·
assets-modifyCreates a new material
Creates a new material.
Try: “Create a blue material”
Write ·
assets-material-createMakes a prefab from an object in the scene
Makes a prefab from an object in the scene.
Try: “Make a prefab from the Enemy”
Write ·
assets-prefab-createPlaces a prefab in the scene
Places a prefab in the scene.
Try: “Place the Enemy prefab in the scene”
Write ·
assets-prefab-instantiateOpens a prefab for editing
Opens a prefab for editing.
Try: “Open the Enemy prefab”
Write ·
assets-prefab-openSaves the prefab you are editing
Saves the prefab you are editing.
Try: “Save the prefab”
Write ·
assets-prefab-saveCloses the open prefab
Closes the open prefab.
Try: “Close the prefab”
Write ·
assets-prefab-closeRefreshes the project's asset database
Refreshes the project's asset database.
Try: “Refresh the assets”
Write ·
assets-refreshCreates or changes a script file
Creates or changes a script file.
Try: “Create a script that rotates an object”
Write ·
script-update-or-createClears the console
Clears the console.
Try: “Clear the console”
Delete ·
console-clear-logsStarts, stops or pauses play mode
Starts, stops or pauses play mode.
Try: “Start play mode”
Runs code ·
editor-application-set-stateChanges what is selected in the editor
Changes what is selected in the editor.
Try: “Select the Player”
Write ·
editor-selection-setInstalls a package
Installs a package.
Try: “Install the Cinemachine package”
Write ·
package-addUnloads a scene from the editor
Unloads a scene from the editor.
Try: “Unload the Level2 scene”
Write ·
scene-unloadRuns your EditMode or PlayMode tests
Runs your EditMode or PlayMode tests.
Try: “Run all my PlayMode tests”
Runs code ·
tests-runCompiles and runs C# code in the editor
Compiles and runs C# code in the editor.
Try: “Run a script that lists all lights in the scene”
Runs code ·
script-executeCalls any C# method with the inputs you give
Calls any C# method with the inputs you give.
Try: “Call the ResetLevel method”
Runs code ·
reflection-method-callDeletes an object and everything under it
Deletes an object and everything under it.
Try: “Delete the old Enemy object”
Delete ·
gameobject-destroyRemoves components from an object
Removes components from an object.
Try: “Remove the Rigidbody from the Crate”
Delete ·
gameobject-component-destroyDeletes assets from the project
Deletes assets from the project.
Try: “Delete the unused textures”
Delete ·
assets-deleteDeletes script files
Deletes script files.
Try: “Delete OldScript.cs”
Delete ·
script-deleteUninstalls a package
Uninstalls a package.
Try: “Remove the Cinemachine package”
Write ·
package-removeQueries editor data such as profiler and lighting
Queries editor data such as profiler and lighting.
Try: “Show me the profiler memory snapshot”
Read ·
rql-queryChanges editor data such as lighting settings
Changes editor data such as lighting settings.
Try: “Change the sun settings in the scene”
Write ·
rql-mutate
Read from the source code
Pros and cons
Good
- Free and open source under Apache-2.0, with no account needed for local use.
- Works inside the Unity Editor and, with your own tools, inside a built game.
- Any C# method in your project can become a custom tool for the agent.
- Setup is documented for Claude Code, Claude Desktop, Cursor, VS Code, Codex, Gemini CLI and more.
- Ships its own server program, so no Python is needed.
- Active maintainer with frequent releases.
Watch out
- The default tool set costs about 36k tokens of context.
- Runs any C# code and deletes assets by default, with no read-only mode.
- The local server needs no sign-in unless you turn it on.
- HTTP connections drop after idle time in Cursor and VS Code.
- Needs Unity 2022.3 or newer, and the project path cannot contain spaces.
- Unity's own free CLI is the first-party option on Unity 6.0 LTS and newer.
Permissions
high risk · 6 things to watch
High risk
An AI agent can run any C# code and delete assets and scripts in your project, and the local server asks for no sign-in by default. Keep the project in version control, switch off tools you do not need, and remember that hiding a tool does not stop a call by name.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can run any C# code in the Editor
One default tool compiles and runs a C# snippet, and another can call any method it finds. Review what the agent plans to run, and work in a project under version control. github.com
It can delete assets and scripts and add packages
These tools change the project directly. Commit before long agent sessions so you can roll back. github.com
The local server has no sign-in by default
Any client that reaches the port can use it. Turn on token mode before you expose the port, for example when running the Docker image. github.com
Hiding a tool does not block it
The tool filter only removes tools from the list the client sees. A hidden tool still runs if a client calls it by name. github.com
Cloud mode signs you in to ai-game.dev
The credential is stored on your machine. Custom mode keeps everything local and needs no account. github.com
The server program downloads on first load
The plugin fetches the server into your project's Library folder the first time it loads, so the first start needs internet access. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only mode. You can switch off individual tools in the AI Game Developer window, or list allowed tools in UNITY_MCP_TOOLS, but the README says a hidden tool still runs if a client calls it by name. |
|---|---|
| Talks to | ai-game.dev (Cloud mode only). Download of the server program on first load |
| Sign-in and keys | Cloud mode stores your ai-game.dev credential in ~/.ai-game-dev/credentials.json. |
Alternatives
On Unity 6.0 LTS or newer, start with Unity CLI, which is free and made by Unity. Pick CoplayDev's MCP for Unity if you run Unity 2021.3, and Unity-MCP when you want no Python or tools inside a built game.
| Server | Official | Runs | Can change things | GitHub stars |
|---|---|---|---|---|
| For Unity | ||||
| Unity-MCPThis page | Community | HostedLocal | Yes | 4.6K |
| mcp-unity | Community | Local | Yes | 2K |
| Other tools for the same job | ||||
| Unity CLI | Official | Local | Yes | – |
| MCP for Unity | Community | Local | Yes | – |
What people say
People like how well it writes Unity code and how fast the maintainer responds, and dislike its heavy context cost and dropped connections.
What people like
- Writes Unity C# code well, even when broader agent tasks get confused.
- A studio user says it has become part of their daily workflow.
- The maintainer answers reports fast and ships fixes, such as the tool-disable window added after a token complaint.
- Users find the Skills plus CLI route more stable than a long-lived MCP connection.
Common complaints
- The default tool set is heavy, about 36k tokens of tool definitions in one Claude Code session.
- HTTP connections drop after idle time in Cursor, VS Code and Kilo Code and need a manual restart.
- The connection can get stuck on Connecting after the cloud server goes offline briefly.
- The test-running tool has hung or deadlocked the Editor in some versions.
In their words
“I’ve encountered many issues in practical use. The current AI struggles to handle most responsibilities in my workflow and often causes confusion. However, its code-writing capability is excellent.”DevourgodGitHub issueOct 2026
“First of all, thanks a lot for your work on Unity-MCP. It has become a key part of our daily workflow, and I really appreciate you taking the time to test this so thoroughly.”JRuizMorenoGitHub discussionNov 2025
“Based on the context output, the total tokens consumed by all mcp__unity__ tools is 36,417 tokens (approximately 36.4k tokens).”pickuperastGitHub issueMay 2026
“Connect successfully → leave Cursor idle for ~10–15 minutes without invoking any MCP tool → server status flips to red ("errored"). Cursor never auto-recovers.”kanyousee
2 more quotesFewer quotes
“Use `Cloud` connection, and remove the MCP config, enable Skills instead. Skills tech AI how to use `unity-mcp-cli` to do the same thing even cheaper. No connection issue anymore.”IvanMurzakGitHub issueMar 2026
“same thing. works when launching manually outside of unity”Enferlain
Questions
Is Unity-MCP free?
Yes. The plugin and the MCP server are free and open source under Apache-2.0, and you bring your own AI assistant. Paid ai-game.dev plans from $25 a month only add hosted AI models and asset generation.
Do I need an ai-game.dev account?
Not for local use. Custom mode runs the server on your machine with no account. Cloud mode, which the command-line setup uses by default, signs you in through your browser.
Is it safe to let an agent use it?
It can run any C# code and delete assets and scripts, and the local server has no sign-in by default. Keep the project in version control and switch off tools you do not need.
Why does it use so much of my context window?
The full default tool set is large, and one user measured about 36k tokens in Claude Code. Turn off unused tools in the AI Game Developer window, or use the Skills route, which the maintainer says is cheaper.
If I hide a tool, can the AI still use it?
Yes, if the client calls it by name. The filter only removes tools from the list the client sees, so it does not work as a safety lock.
Does Unity have its own official MCP server?
Yes. Unity replaced the MCP server in its AI Assistant package with the free Unity CLI, and its MCP mode needs Unity 6.0 LTS or newer. Unity says third-party packages like this one are unaffected.
Unity-MCP vs CoplayDev's MCP for Unity?
Unity-MCP ships its own server program, so no Python is needed, and it can run tools inside a built game. CoplayDev's server needs Python 3.10 or newer through uv and supports Unity back to 2021.3.
Which Unity versions does it support?
Unity 2022.3 or newer, per the project wiki. The project path must not contain spaces.
Can the AI control my game while it is running?
Yes, but only through tools you write. A built game can connect to the server, and it exposes no tools by default. The README's chess bot sample shows how.
What is the Unity-MCP server URL?
Cloud mode uses https://ai-game.dev/mcp. Local mode runs on your own machine, so use the details the AI Game Developer window shows for your project.
Examples
Build a quick test layout in the open scene
Create 3 cubes in a circle with radius 2
SourceUnderstand an unfamiliar scene before editing it
Explain my scene hierarchy
SourceCreate a material and apply it to a new object
Create metallic golden material and attach it to a new sphere gameObject
SourceStack objects to test physics or layout
Create 3 spheres on top of each other
SourceLet an LLM play a chess bot's turns inside a built game through custom runtime tools
Source
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
aigamedeveloper/mcp-server- Registry
- Docker
- Endpoint
https://ai-game.dev/mcp- Transport
- stdio, Streamable HTTP
- Version
- 0.17.1
- License
- Apache-2.0
- Last commit
- Oct 31, 2026
- Open issues
- 45
- Listed in
- Official MCP registry
WebsiteUnity tools docsGitHubDockerOfficial MCP RegistryConnect any clientChangelogPricingIssues
Other Unity MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 17Hide
- Unity-MCP README · github.com
- unity-mcp-cli README · github.com
- Unity-MCP README: Variables · github.com
- Unity-MCP Wiki: FAQ · github.com
- Unity CLI as the replacement for the in-Editor MCP server · docs.unity.com
- CoplayDev/unity-mcp · github.com
- Default MCP tools · github.com
- Installation Guide · github.com
- AI Game Developer pricing · ai-game.dev
- 36K tokens consumed by context window always!!! · github.com
- Error reading from async stream, we will reconnect · github.com
- MCP endpoint info · ai-game.dev
- Thank you for your plugin · github.com
- streamableHttp: 202 response never completes · github.com
- Stuck connection status. · github.com
- Test runner hangs the Editor · github.com
- CoderGamester/mcp-unity · github.com