
MCP Unity Server for the Unity Editor: Setup for Claude, Cursor and Other Apps
Lets your AI assistant edit your open Unity project: scenes, objects, components, materials and prefabs.
MCP Unity is a community plugin that lets Claude, Cursor, Codex and other assistants work inside the Unity Editor. It is two parts: a Unity package that you add through the Package Manager, and a Node.js program that your AI app starts. The editor must be open for it to work. The assistant can create, move and delete objects, edit components and materials, load and save scenes, and run tests.
Good for
- Unity developers who want an assistant to build and adjust scenes
- Game designers who want to describe a change and have it applied in the editor
- Teams who want the assistant to read Unity console errors and fix scripts
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install mcp-unity
Claude Code
- 1
Copy this prompt.
Add the mcp-unity server to Claude Code. Run this command: claude mcp add mcp-unity -- node ABSOLUTE/PATH/TO/mcp-unity/Server~/build/index.js Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Unity 6 or later, Node.js 18 or later, Unity Editor open.
Add the Unity package first: in Unity open Window > Package Manager, choose Add package from git URL and enter https://github.com/CoderGamester/mcp-unity.git. Then replace ABSOLUTE/PATH/TO with the path shown in Tools > MCP Unity > Server Window, or click the Configure button for your app there and Unity writes the config for you.
Built from the package data we hold. Not yet tested by us. Source.
Tools
Lists every object in the open scenes
Returns the tree of objects in the scenes you have open, so the assistant can see what is there.
Try: “What objects are in my current scene?”
Read ·
get_scenes_hierarchyShows one object and its components
Looks up one object and returns its components and the objects under it, to a depth you can limit.
Try: “Show me the Player object and its components.”
Read ·
get_gameobjectShows the active scene and loaded scenes
Reports which scene is active, whether it has unsaved changes, and which other scenes are loaded.
Try: “Which scene is open and does it have unsaved changes?”
Read ·
get_scene_infoReads the Unity console messages
Returns console entries a page at a time so a long log does not overflow the chat.
Try: “Show the latest errors in the Unity console.”
Read ·
get_console_logsShows a material's shader and settings
Returns the shader and every property value of one material.
Try: “What are the settings of the Ground material?”
Read ·
get_material_infoTells whether the game is playing or paused
Reports if the editor is in play mode and whether it is paused.
Try: “Is the game running?”
Read ·
get_play_mode_statusChanges an object's name, tag, layer or state, or creates it
Edits core properties such as name, tag, layer and active or static state. If no object exists at the path, it creates one.
Try: “Rename Cube to Crate and set its tag to Pickup.”
Write ·
update_gameobjectChanges a component's fields or adds the component
Sets field values on a component of an object, and adds the component first if the object does not have it.
Try: “Add a Rigidbody to Crate and set its mass to 5.”
Write ·
update_componentSelects an object in the editor
Highlights an object in the hierarchy so you can see it.
Try: “Select the Main Camera.”
Write ·
select_gameobjectMakes copies of an object
Copies an object one or more times, with optional new names or a new parent.
Try: “Duplicate the Tree object 10 times.”
Write ·
duplicate_gameobjectDeletes an object from the scene
Removes an object from the open scene, and by default everything under it.
Try: “Delete the old Spawner object.”
Delete ·
delete_gameobjectMoves an object under a different parent
Changes where an object sits in the hierarchy.
Try: “Move Lamp under the Room object.”
Write ·
reparent_gameobjectMoves an object to a new position
Sets or shifts an object's position.
Try: “Move the Crate 2 units up.”
Write ·
move_gameobjectRotates an object
Sets or adds to an object's rotation.
Try: “Rotate the door 90 degrees on Y.”
Write ·
rotate_gameobjectResizes an object
Sets or multiplies an object's scale.
Try: “Make the Rock twice as big.”
Write ·
scale_gameobjectSets position, rotation and scale at once
Changes any mix of position, rotation and scale in a single step.
Try: “Put the Crate at 0,1,0 with no rotation and scale 1.”
Write ·
set_transformCreates and saves a new scene
Makes a new scene file at the path you give.
Try: “Create a scene called Level2 in Assets/Scenes.”
Write ·
create_sceneOpens a scene
Opens a scene, replacing the current one or adding to it.
Try: “Load the MainMenu scene.”
Write ·
load_sceneSaves the current scene
Writes the open scene to disk, or to a new file.
Try: “Save the scene.”
Write ·
save_sceneCloses a scene without deleting it
Removes a scene from the hierarchy but keeps its file.
Try: “Unload the Test scene.”
Write ·
unload_sceneDeletes a scene file
Removes a scene asset from the project and from the build list.
Try: “Delete the old Prototype scene.”
Delete ·
delete_scenePuts an asset from the project into the scene
Places a prefab or other asset into the open scene.
Try: “Add the Enemy prefab at the origin.”
Write ·
add_asset_to_sceneCreates a prefab, optionally with a script
Builds a prefab asset and can attach a script with starting values.
Try: “Create a Coin prefab with the Collectible script.”
Write ·
create_prefabCreates a material
Makes a material asset with a shader and color you choose.
Try: “Create a red material called Danger.”
Write ·
create_materialApplies a material to an object
Puts a material on an object in a given slot.
Try: “Apply Danger to the Crate.”
Write ·
assign_materialEdits a material's colors, numbers or textures
Changes values on a material, such as color, metallic or the main texture.
Try: “Make the Ground material less shiny.”
Write ·
modify_materialStarts, pauses, stops or steps the game
Presses the play controls in the editor.
Try: “Start play mode.”
Runs code ·
set_play_mode_statusRecompiles all scripts
Triggers a script recompile, for example after the assistant edits code.
Try: “Recompile the scripts and tell me if there are errors.”
Runs code ·
recompile_scriptsRuns the Unity Test Runner
Runs your project's tests and returns the results. Test code runs inside the editor.
Try: “Run all EditMode tests.”
Runs code ·
run_testsRuns a Unity menu item
Clicks any menu item in the editor by its path, including ones your project adds, so what happens depends on the item.
Try: “Run Assets > Refresh.”
Runs code ·
execute_menu_itemWrites a message to the Unity console
Prints a line in the editor console.
Try: “Log "build check done" to the console.”
Write ·
send_console_logInstalls a Unity package
Installs a package, which can run editor code as it compiles. It is off until you turn on Allow Package Installation in the MCP Unity window.
Try: “Install the Cinemachine package.”
Runs code ·
add_packageRuns several tool calls in one request
Groups many tool calls into one step, and can undo them if one fails. It can run any of the other tools, including deletes.
Try: “Create ten cubes in a row in one batch.”
Delete ·
batch_executeOpens the Unity dashboard in VS Code
Shows a dashboard panel inside VS Code. It needs VS Code 1.109 or later.
Try: “Show the Unity dashboard.”
Runs code ·
show_unity_dashboard
Read from the source code
Permissions
high risk · 4 things to watch
High risk
The assistant can change and delete anything in your open Unity project and run editor menu items and tests. Commit your project to version control before each session, and leave remote connections and package installation off.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can delete objects and scene files
delete_gameobject removes an object and its children, and delete_scene removes a scene file and its Build Settings entry. Keep your project in version control and commit before an editing session. github.com
It can run menu items, tests and batches
execute_menu_item can click any editor menu entry, run_tests runs project test code, and batch_execute groups many calls and can include deletes. Treat them as running code in your editor. github.com
Package installation is opt-in
add_package is off by default because packages can run editor code when they compile. Leave Allow Package Installation off unless you need it. github.com
Remote connections open the editor to your network
The Unity side listens on localhost by default. The Allow Remote Connections option binds it to every network interface, so use it only on a network you trust. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only mode is documented. Every tool is always registered, except add_package, which stays off until you allow it in the Unity window. |
|---|---|
| Talks to | A local WebSocket between the Node program and the Unity Editor (localhost by default) |
| Sign-in and keys | A per-project token in Library/McpUnity/bridge-token that the Node program and Unity share. No account or API key. |
Questions
Is MCP Unity official?
No. It is a community project by CoderGamester. It is not made by Unity Technologies.
What do I need before installing?
Unity 6 or later and Node.js 18 or later. You add the Unity package from a git URL, then use the Configure button in Tools > MCP Unity > Server Window.
Does the Unity Editor have to be open?
Yes. The Node program talks to the running editor, so the tools work only while Unity is open with the server started.
Which apps does it work with?
The README names Claude Code, Cursor, Windsurf, GitHub Copilot, Codex CLI and others. Configure buttons in Unity write the config for several of them.
Can it install packages?
Only if you turn on Allow Package Installation in the MCP Unity window. It is off by default.
Is the connection safe?
The README says the Unity endpoint needs a per-project 256-bit token and rejects browser WebSocket handshakes. By default it listens on localhost only.
What changed in version 1.5.0?
The README says 1.5.0 rejects the older 1.4.x Node bridges, so upgrade both the Unity package and the Node part together.
Information
updated Nov 2, 2026
- Publisher
- Community
- Transport
- stdio
- Auth
- None
- License
- MIT
- Last commit
- Oct 11, 2026
- Open issues
- 4
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 2Hide
- github.com · github.com
- github.com · github.com