assets-copyLABSCO SUMMARY
Reflection and dynamic C# execution mean the tool list is not the limit.
reflection-method-find and reflection-method-call reach any C# method, public or private, and script-execute compiles and runs a snippet — so anything the shaped tools miss is still reachable. That is powerful and it is also the reason to think about MCP_AUTHORIZATION, which is none out of the box. Note the tool names shown in clients are titles like Assets / Find; the ids are the kebab-case forms.
What it is
A Unity plugin plus a server that sits between your AI client and the Unity Editor. The plugin connects to the server over TCP and the client connects over stdio or streamable HTTP, giving an assistant real editor operations rather than file edits it hopes compile.
What you get
- Assets managed in the project: folders, find, copy, move, delete, read and modify, plus an AssetDatabase refresh —
assets-create-folder,assets-find,assets-copy,assets-move,assets-get-data,assets-modify,assets-refresh - Materials, shaders and prefabs: create a material, list shaders and read shader data, instantiate a prefab into the scene, and open, save and close Prefab Mode —
assets-material-create,assets-shader-get-data,assets-prefab-instantiate,assets-prefab-create,assets-prefab-open,assets-prefab-save - GameObjects and components: create, destroy, duplicate, find by name, tag or type, modify transform and state, reparent, and add, remove, read or modify components —
gameobject-create,gameobject-find,gameobject-modify,gameobject-set-parent,gameobject-component-add,gameobject-component-modify - Scenes created, opened, saved, unloaded, set active and inspected —
scene-create,scene-open,scene-save,scene-get-data,scene-list-opened - C# written, read, deleted, and a snippet compiled and run dynamically —
script-update-or-create,script-read,script-execute - Package Manager operations against the registry, Git URLs or local paths —
package-add,package-list,package-remove,package-search - Screenshots from a camera, the Game View, the Scene View, or one GameObject rendered in isolation —
screenshot-camera,screenshot-game-view,screenshot-scene-view,screenshot-isolated - EditMode and PlayMode tests run with filters and detailed results, console logs read and cleared, play state read and set, and selection read and set —
tests-run,console-get-logs,editor-application-set-state,editor-selection-set - Reflection escape hatches: find any C# method public or private and call it, and generate a JSON schema for a type —
reflection-method-find,reflection-method-call,type-get-json-schema - Profiling: start and stop, capture a frame, and read memory, rendering and script statistics, with modules listed, toggled, cleared, saved and loaded —
profiler-start,profiler-capture-frame,profiler-get-memory-stats,profiler-get-rendering-stats,profiler-get-script-stats,profiler-save-data
Requirements
The Unity plugin, installed from the .unitypackage installer, via openupm add com.ivanmurzak.unity.mcp, or with npx unity-mcp-cli install-plugin ./MyUnityProject. The plugin downloads and runs the matching server binary for your OS automatically; Docker and manual binary options exist too. The server listens on port 8080 by default, configurable with MCP_PLUGIN_PORT, and MCP_PLUGIN_CLIENT_TRANSPORT chooses streamableHttp or stdio. Client authentication is off by default — set MCP_AUTHORIZATION to required and supply MCP_PLUGIN_TOKEN to demand a bearer token.
Setup effort
One command — openupm add com.ivanmurzak.unity.mcp
USE CASES
Building a scene from a description
Create the GameObjects, add and configure the components, parent them into a hierarchy, then save the scene.
Seeing whether what you built looks right
Capture the Game View or Scene View, or render one GameObject in isolation from a chosen angle, and look at it in the conversation.
Writing a script and finding out immediately whether it works
Create or update the C# file, run the EditMode and PlayMode tests with a filter, and read the console logs when something fails.
Investigating a frame-rate problem
Start the profiler, capture a frame, and read the rendering, memory and script statistics rather than reading the Profiler window yourself.
Reaching something the tool list does not cover
Find the C# method by reflection and call it, or execute a compiled snippet in the editor context.
71 tools
Listed in project docs. Your client may show a different list.
assets-create-folderassets-deleteassets-findassets-find-built-inassets-get-dataassets-material-createassets-modifyassets-moveassets-prefab-closeassets-prefab-createassets-prefab-instantiateassets-prefab-openassets-prefab-saveassets-refreshassets-shader-get-dataassets-shader-list-allpackage-addpackage-listpackage-removepackage-searchgameobject-component-addgameobject-component-destroygameobject-component-getgameobject-component-list-allgameobject-component-modifygameobject-creategameobject-destroygameobject-duplicategameobject-findgameobject-modifygameobject-set-parentobject-get-dataobject-modifyscene-createscene-get-datascene-list-openedscene-openscene-savescene-set-activescene-unloadscreenshot-camerascreenshot-game-viewscreenshot-isolatedscreenshot-scene-viewconsole-clear-logsconsole-get-logseditor-application-get-stateeditor-application-set-stateeditor-selection-geteditor-selection-setreflection-method-callreflection-method-findscript-deletescript-executescript-readscript-update-or-createtests-runtype-get-json-schemaprofiler-capture-frameprofiler-clear-dataprofiler-enable-moduleprofiler-get-memory-statsprofiler-get-rendering-statsprofiler-get-script-statsprofiler-get-statusprofiler-list-modulesprofiler-load-dataprofiler-save-dataprofiler-startprofiler-stopBEFORE YOU INSTALL
What to know first
Tools you get
71 tools named in the project's documentation.
INSTALLATION
Connect your client
Server setup
openupm add com.ivanmurzak.unity.mcpMCP Clients
Unity Editor
Open your Unity project
Open Window/AI Game Developer
Click Auto-generate Skills (recommended), or click Configure under Model Context Protocol (MCP)
Claude Code
Build your <YOUR_COMMAND> from the table in the README: "<YOUR_UNITY_PROJECT_PATH>/Library/mcp-server/<YOUR_PLATFORM>/gamedev-mcp-server" port=<YOUR_PORT> client-transport=stdio, where <YOUR_PLATFORM> is win-x64, win-x86, win-arm64, osx-arm64, osx-x64, linux-x64 or linux-arm64 (on Windows the file is gamedev-mcp-server.exe), <YOUR_UNITY_PROJECT_PATH> is the full path to your Unity project, and <YOUR_PORT> is the port set in Window/AI Game Developer
claude mcp add ai-game-developer <YOUR_COMMAND>Gemini CLI
Build your <YOUR_COMMAND> from the table in the README: "<YOUR_UNITY_PROJECT_PATH>/Library/mcp-server/<YOUR_PLATFORM>/gamedev-mcp-server" port=<YOUR_PORT> client-transport=stdio, where <YOUR_PLATFORM> is win-x64, win-x86, win-arm64, osx-arm64, osx-x64, linux-x64 or linux-arm64 (on Windows the file is gamedev-mcp-server.exe), <YOUR_UNITY_PROJECT_PATH> is the full path to your Unity project, and <YOUR_PORT> is the port set in Window/AI Game Developer
gemini mcp add ai-game-developer <YOUR_COMMAND>GitHub Copilot
Build your <YOUR_COMMAND> from the table in the README: "<YOUR_UNITY_PROJECT_PATH>/Library/mcp-server/<YOUR_PLATFORM>/gamedev-mcp-server" port=<YOUR_PORT> client-transport=stdio, where <YOUR_PLATFORM> is win-x64, win-x86, win-arm64, osx-arm64, osx-x64, linux-x64 or linux-arm64 (on Windows the file is gamedev-mcp-server.exe), <YOUR_UNITY_PROJECT_PATH> is the full path to your Unity project, and <YOUR_PORT> is the port set in Window/AI Game Developer
Start copilot, then type /mcp add in the session
Enter Server name ai-game-developer, Server type local, and your <YOUR_COMMAND> as the Command
Any MCP client — Docker HTTP
Start the server container first; it listens on port 8080:
docker run -p 8080:8080 aigamedeveloper/mcp-server{
"mcpServers": {
"ai-game-developer": {
"url": "http://localhost:8080"
}
}
}If you run the container in the cloud, the url is that container's endpoint rather than http://localhost:8080. Make sure Docker is installed, and on Windows that Docker Desktop is running.
Any MCP client — Docker stdio
{
"mcpServers": {
"ai-game-developer": {
"command": "docker",
"args": [
"run",
"-t",
"-e",
"MCP_PLUGIN_CLIENT_TRANSPORT=stdio",
"-p",
"8080:8080",
"aigamedeveloper/mcp-server"
]
}
}
}Unity MCP CLI
npm install -g unity-mcp-cli
unity-mcp-cli install-plugin ./MyUnityProject
unity-mcp-cli login
unity-mcp-cli open ./MyUnityProjectlogin signs you in to ai-game.dev in the browser; there is no token to paste. Opening the project connects the plugin, and the client configuration the tool writes points at ai-game.dev/mcp, the project's cloud endpoint.