Overview
What is UnityMCP VRC?
UnityMCP VRC is a Unity Editor plugin that, together with a Node/TypeScript MCP server, lets Claude (or any MCP client) drive the Unity Editor by running C# commands, reading scene/editor state, and pulling console logs. It is forked from Arodoid/UnityMCP and refactored with a focus on building VRChat / UdonSharp and Basis worlds, though it works for ordinary Unity development as well. It runs on Unity 2022.3 through Unity 6.
How to use UnityMCP VRC?
- Build the MCP server by running
npm installandnpm run buildinside theunity-mcp-serverdirectory. - Drag the
UnityMCPPlugin/folder into your Unity project’sAssets/folder. A UnityMCP menu appears; open the Debug Window and confirm the server is Listening. - Add the stdio MCP server to your client (e.g. Claude Desktop or Claude Code) with the path to
build/index.js. - In the Debug Window, verify that an MCP Client row appears once Claude connects. Prompt Claude to start using the tools.
Key features of UnityMCP VRC
- Run LLM-authored C# with auto-discovered assembly references.
- Many Unity Editors supported simultaneously via dynamic ports.
- Bounded state output prevents context window overflow.
- Take screenshots of Scene/Game view for visual feedback.
- Survives domain reloads by retrying requests until ready.
- Live Debug Window shows server status and request queue.
Use cases of UnityMCP VRC
- Automate repetitive editor tasks (e.g. prefab creation, material assignment).
- Build and debug VRChat/UdonSharp worlds using natural language instructions.
- Inspect and modify scene objects without manual inspector navigation.
- Generate C# scripts and see immediate results in the Unity Editor.
- Run multiple projects concurrently with different Claude sessions.
FAQ from UnityMCP VRC
What Unity versions are supported?
Unity 2022.3 through Unity 6. The command sandbox automatically uses the appropriate compiler (Mono for .NET Framework projects, Roslyn for .NET Standard projects).
How do I use multiple Unity Editors at once?
Each Editor hosts its own HTTP server on an OS-assigned dynamic port and publishes itself to a shared registry. Use list_unity_instances to discover running Editors and select_unity_instance to target one. You can also set UNITYMCP_INSTANCE environment variable to pin a session.
What happens when Unity domain reloads?
The HTTP listener is dropped momentarily, but the MCP server automatically retries requests until the Editor is back. No persistent socket is torn down, so commands eventually complete.
How can I see what the Editor is doing without writing C#?
Use take_screenshot to render the Scene or game camera as an image, and get_object_details to dump a GameObject’s components, bounds, and material info.
Where does the MCP server store discovery data?
Editor instance records are stored in %LOCALAPPDATA%\UnityMCP\instances\. This path can be overridden with the UNITYMCP_REGISTRY_DIR environment variable.