About Unity MCP Runner
Unity MCP Runner is an MCP server in the Gaming category: a Model Context Protocol server for Unity.
Install
claude mcp add unity-mcp-runner -- npx -y @nurture-tech/unity-mcp-runnernpx -y @nurture-tech/unity-mcp-runnerThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (25)
**Assets**No description in manifest
Parameters not published.
**Editor State**No description in manifest
Parameters not published.
**Prefabs**No description in manifest
Parameters not published.
**Scenes**No description in manifest
Parameters not published.
**Scripting**No description in manifest
Parameters not published.
**Search**No description in manifest
Parameters not published.
**Vision**No description in manifest
Parameters not published.
close_sceneClose an open scene
Parameters not published.
copy_assetCopy an asset to a new path.
Parameters not published.
create_scriptCreate or replace a C# code file at the given path. This also checks to make sure the script compiles.
Parameters not published.
Show all 25 tools
execute_codeExecute code inside the Unity editor.
Parameters not published.
focus_game_objectFocus on a game object in the scene view.
Parameters not published.
get_asset_contentsGet the full contents of an asset or sub-asset.
Parameters not published.
get_asset_importerGet the importer settings for an asset.
Parameters not published.
get_game_objectGet the details of a game object in a loaded scene or prefab by its hierarchy path.
Parameters not published.
get_selectionGet the objects the user has currently selected in the editor.
Parameters not published.
get_stateGet the state of the Unity Editor.
Parameters not published.
get_type_infoGet public fields and methods on a Unity fully qualified type name, including the assembly.
Parameters not published.
import_assetImport an asset from the filesystem into Unity.
Parameters not published.
open_prefabOpen a Unity prefab in isolation mode so that it can be edited.
Parameters not published.
open_sceneOpen a scene
Parameters not published.
save_sceneSave the current scene. If the scene is not dirty, this will do nothing.
Parameters not published.
screenshotRetrieve a preview of what is focused in the scene view.
Parameters not published.
searchSearch project assets and scene objects.
Parameters not published.
test_active_sceneTest the active scene by entering play mode and running for a given number of seconds.
Parameters not published.
Ask AI
Ask AI about Unity MCP Runner
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
[!IMPORTANT] Union is deprecated. Use Unity's official MCP server.
Union ♾️ - The Unity MCP Server
A Model Context Protocol server for Unity

Key Features
-
🖼️ Multimodal Vision: Your agent can see what you see. It can view the scene, look through any camera, watch play mode, and inspect asset thumbnails.
-
🔎 Powerful Search: Go beyond the project panel with simultaneous search across the hierarchy and project assets.
-
✔️ Superior Code Analysis: Leverage Unity's own compiler for code analysis that is more accurate than your agent's linter.
-
⏩ Quick Start: Get running in seconds with a single
mcp.jsonconfiguration file. -
🛠️ Extensible: Add your own project-specific tools with minimal boilerplate.
-
📅 Always Current: Kept up-to-date with the latest MCP protocol version — currently
2025-06-18via the Official MCP C# SDK.
Compatibility
| Name | Compatible | Notes |
|---|---|---|
| Models | ||
| GPT-4.1 | ✅ | |
| Claude 4 Sonnet | ✅ | |
| Claude 4 Opus | ✅ | |
| Gemini 2.5 Pro | ✅ | |
| Gemini 2.5 Flash | ✅ | |
| o3 | ✅ | No image understanding |
| o4-mini | ✅ | |
| Unity Versions | ||
| Unity 6000.0.x | ✅ | Higher versions should be fine. Lower versions may work but untested. |
| Agents | ||
| Cursor | ✅ | |
| Rider AI | ✅ | |
| Claude Desktop | ✅ | |
| Claude Code | ✅ | Terminal requires Screen & System Audio Recording permissions on Mac |
| Operating Systems | ||
| Windows | ✅ | |
| Mac | ✅ | |
| Ubuntu | ❔ | Untested |
Setup
1. Install node.js
2. Configure mcp.json
{
"mcpServers": {
"unity": {
"command": "npx",
"args": ["-y", "@nurture-tech/unity-mcp-runner", "-unityPath", "<path to unity editor>", "-projectPath", "<path to unity project>"]
}
}
}
This will automatically install the is.nurture.mcp package in your unity project. Feel free to commit those changes to source control.
About the Tools
Meet your Unity AI toolbox.
| Tool | Description |
|---|---|
| Assets | |
get_asset_contents |
Get the full contents of an asset or sub-asset. |
copy_asset |
Copy an asset to a new path. |
import_asset |
Import an asset from the filesystem into Unity. |
get_asset_importer |
Get the importer settings for an asset. |
| Prefabs | |
open_prefab |
Open a Unity prefab in isolation mode so that it can be edited. |
| Scenes | |
open_scene |
Open a scene |
close_scene |
Close an open scene |
save_scene |
Save the current scene. If the scene is not dirty, this will do nothing. |
get_game_object |
Get the details of a game object in a loaded scene or prefab by its hierarchy path. |
test_active_scene |
Test the active scene by entering play mode and running for a given number of seconds. |
| Scripting | |
create_script |
Create or replace a C# code file at the given path. This also checks to make sure the script compiles. |
execute_code |
Execute code inside the Unity editor. |
get_type_info |
Get public fields and methods on a Unity fully qualified type name, including the assembly. |
| Search | |
search |
Search project assets and scene objects. |
| Editor State | |
get_state |
Get the state of the Unity Editor. |
get_selection |
Get the objects the user has currently selected in the editor. |
| Vision | |
focus_game_object |
Focus on a game object in the scene view. |
screenshot |
Retrieve a preview of what is focused in the scene view. |
Known Issues
-
The Google External Dependency Manager (EDMU) causes Unity to hang forever on startup when launched via Cursor on Windows. This is under investigation.
-
The
test_active_scenetool sometimes fails with the error messageMaximum call stack size exceeded. -
The
searchtool occasionally fails with the error messageSearch index is not ready yet. Please try again later.
Adding Project-Specific Tools
Union uses the official C# MCP SDK.
-
Create a static class to hold your tools. Add the
[McpServerToolType]annotation to the class. -
Declare static methods to implement each tool. Add the
[McpServerTool]annotation to each method. -
Reference the Services directory for examples.
-
You will likely need to quit unity and restart your agent in order for it to see the new tools.
Usage Tips
Here are some tips to get the most out of Union:
-
🚀 Launch through your agent: Always launch Unity through your AI agent's MCP integration. Launching Unity from the Hub will prevent the MCP server from connecting.
-
📂 Per-project setup: If your agent supports it, configure the MCP server in your per-project settings. This allows you to seamlessly switch between Unity projects.
-
⚙️ Command-line arguments: You can pass additional arguments to Unity for advanced scenarios like running in
-batchmodeor-nographicsfor CI/CD pipelines. Add a--separator before the Unity-specific arguments:{ "mcpServers": { "unity": { "command": "npx", "args": [ "-y", "@nurture-tech/unity-mcp-runner" "-unityPath", "<path to unity editor>", "-projectPath", ".", "--", "-batchmode", "-nographics" ] } } } -
⚠️ Important: Do not use the
-logFilecommand-line argument. The MCP server relies on Unity's standard output for communication. -
🖥️ Split screen for vision: For tools like
screenshot, ensure the Unity editor is visible on your screen otherwise it will end up screenshotting the foreground window.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.