Enables AI assistants to interact with Unity Editor projects through 68 tools for manipulating scenes, GameObjects, components, transforms, running tests, and accessing project files. Provides live resources for console logs, scene hierarchy, test results, and project file trees.
Unity MCP Server
A Model Context Protocol (MCP) server for Unity Editor, enabling AI assistants like Claude to interact with Unity projects.
Features
68 Tools for manipulating scenes, GameObjects, components, transforms, and more
MCP Resources for live access to console logs, scene hierarchy, test results, and project files
Auto-start Node.js server - no manual setup required
Editor Window for monitoring and configuration
Full test coverage with unit and integration tests
Requirements
Unity 6 or later
Node.js 18 or later
Installation
Via Git URL (Package Manager)
Open Window > Package Manager
Click the + button > Add package from git URL
Enter:
https://github.com/singtaa/unity-mcp.git
Via git submodule
Quick Start
Install the package
Open Window > Unity MCP Server
The server starts automatically when Unity opens
Configure your AI assistant to connect to
http://127.0.0.1:5173/mcp
Configuration
Settings are stored in ProjectSettings/McpSettings.json:
Setting | Default | Description |
HTTP Port | 5173 | Port for MCP HTTP server |
IPC Port | 52100 | Port for Unity-Node TCP bridge |
Auto Start | true | Start server on Unity launch |
Auth Enabled | true | Require bearer token authentication |
Available Tools
Scene Management
unity_scene_list- List all loaded scenesunity_scene_load- Load a sceneunity_scene_save- Save scene(s)unity_scene_new- Create a new sceneunity_scene_close- Close a scene
GameObject Operations
unity_gameobject_create- Create GameObjects (with optional primitives)unity_gameobject_find- Find GameObjects by name, tag, or pathunity_gameobject_delete- Delete GameObjectsunity_gameobject_set_active- Enable/disable GameObjectsunity_gameobject_set_parent- Reparent GameObjectsunity_gameobject_rename- Rename GameObjectsunity_gameobject_duplicate- Duplicate GameObjects
Component Management
unity_component_list- List components on a GameObjectunity_component_add- Add componentsunity_component_remove- Remove componentsunity_component_set_enabled- Enable/disable componentsunity_component_get_properties- Get component propertiesunity_component_set_property- Set component properties
Transform Operations
unity_transform_get- Get position/rotation/scaleunity_transform_set- Set position/rotation/scaleunity_transform_translate- Move by deltaunity_transform_rotate- Rotate by euler anglesunity_transform_look_at- Orient toward targetunity_transform_reset- Reset to identity
Editor Operations
unity_selection_get/set/focus- Editor selectionunity_editor_execute_menu_item- Execute menu commandsunity_editor_notification- Show notificationsunity_editor_log- Log to consoleunity_editor_get_state- Get editor stateunity_editor_pause/step- Playmode controlunity_undo_*- Undo/redo operations
Testing
unity_test_list- List available testsunity_test_run- Run tests asynchronouslyunity_test_run_sync- Run tests synchronouslyunity_test_get_results- Get test results
Project & Assets
unity_project_list_files- List project filesunity_project_read_text- Read text filesunity_project_write_text- Write text filesunity_assets_refresh- Refresh AssetDatabaseunity_assets_import- Import specific assets
MCP Resources
Resource URI | Description |
| Live console output |
| Scene hierarchy |
| Specific scene hierarchy |
| Latest test results |
| Project file tree |
Architecture
Development
Running Tests
Open Window > General > Test Runner and run:
EditMode tests for unit and integration tests
PlayMode tests for runtime behavior
Building the Node Server
The Node.js server is in Server~/. Dependencies are installed automatically on first run.
License
MIT License - see LICENSE for details.
Contributing
Contributions are welcome! Please read our contributing guidelines and submit PRs to the main branch.