MCP for Unity

Lets an assistant control the Unity Editor: build scenes, edit C# scripts, manage assets, run tests.

By Coplay Python Developer toolsDesign

60 popularity score ★ 16k

What it does

MCP for Unity (CoplayDev) connects MCP clients to the Unity Editor so an assistant can make games in natural language. Its 48 tools create and edit scenes, GameObjects, components, prefabs, materials, cameras, lighting and physics, create and edit C# scripts with validation, manage assets and packages, read the console, run menu items, trigger player builds and run tests.

Optional tool groups cover animation, ProBuilder modelling, UI Toolkit, shaders, textures and VFX, profiling, running arbitrary C# in the Editor, Unity documentation lookup and API reflection, and asset generation (images, audio and 3D models from providers such as fal.ai, OpenRouter, Tripo, Meshy and Sketchfab, plus a bridge to Blender). It supports several Unity instances at once.

It needs Unity 2021.3 LTS to 6.x and Python 3.10+ with uv. Install the package in Unity's Package Manager from the Git URL https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main (or openupm add com.coplaydev.unity-mcp), then use Window, MCP for Unity, Configure All Detected Clients, which sets up the Python server (PyPI package mcpforunityserver) for your MCP clients. It is not affiliated with Unity Technologies.

Tools 49

apply_text_edits
Apply small text edits to a C# script identified by URI.
batch_execute
Executes multiple MCP commands in a single batch for dramatically better performance.
create_script
Create a new C# script at the given project path.
debug_request_context
Return the current FastMCP request context details (client_id, session_id, and meta dump).
delete_script
Delete a C# script by URI or Assets-relative path.
execute_custom_tool
Execute a project-scoped custom tool registered by Unity.
execute_menu_item
Execute a Unity menu item by path.
find_gameobjects
Search for GameObjects in the scene by name, tag, layer, component type, or path.
find_in_file
Searches a file with a regex pattern and returns line numbers and excerpts.
get_sha
Get SHA256 and basic metadata for a Unity C# script without returning file contents.
manage_asset
Performs asset operations (import, create, modify, delete, etc.) in Unity.
manage_build
Manage Unity player builds — trigger builds, switch platforms, configure settings, manage build scenes and profiles, run batch builds across platforms.
manage_camera
Manage cameras (Unity Camera + Cinemachine).
manage_components
Add, remove, or set properties on components attached to GameObjects.
manage_editor
Controls and queries the Unity editor's state and settings.
manage_gameobject
Performs CRUD operations on GameObjects.
manage_graphics
Manage rendering graphics: volumes, post-processing, light baking, rendering stats, pipeline settings, and URP renderer features.
manage_material
Manages Unity materials (set properties, colors, shaders, etc).
manage_packages
Manage Unity packages: query, install, remove, embed, and configure registries.
manage_physics
Manage physics settings, collision matrix, materials, joints, queries, and validation.
manage_prefabs
Manages Unity Prefab assets.
manage_scene
Performs CRUD operations on Unity scenes.
manage_script
Compatibility router for legacy script operations.
manage_script_capabilities
Get manage_script capabilities (supported ops, limits, and guards).
manage_tools
Manage which tool groups are visible in this session.
read_console
Gets messages from or clears the Unity Editor console.
refresh_unity
Request a Unity asset database refresh and optionally a script compilation.
script_apply_edits
Structured C# edits (methods/classes) with safer boundaries - prefer this over raw text.
set_active_instance
Set the active Unity instance for this client/session.
validate_script
Validate a C# script and return diagnostics.
manage_animation
Manage Unity animation: Animator control and AnimationClip creation.
blender_bridge
Bridge to a running Blender that has the BlenderMCP addon connected (socket, default 127.0.0.1:9876; configured in Window > MCP for Unity > Generative > Blender Bridge).
generate_audio
Generate audio (sound effects and background music) with fal.ai models and import them as AudioClips into the Unity project.
generate_image
Generate 2D images with AI providers (fal.ai, OpenRouter) and import them as textures/sprites into the Unity project.
generate_model
Generate 3D models with AI providers (Tripo, Meshy, fal) and import them into the Unity project.
import_model
Import 3D models from the Sketchfab marketplace into the Unity project.
import_model_file
Import a local 3D model file that already exists on disk (e.g. an FBX/OBJ/glTF exported from Blender or another DCC tool) into the Unity project.
unity_docs
Fetch official Unity documentation from docs.unity3d.com.
unity_reflect
Inspect Unity's live C# API via reflection.
manage_probuilder
Manage ProBuilder meshes for in-editor 3D modeling.
manage_profiler
Unity Profiler session control, counter reads, memory snapshots, and Frame Debugger.
execute_code
Execute arbitrary C# code inside the Unity Editor.
manage_scriptable_object
Creates and modifies ScriptableObject assets using Unity SerializedObject property paths.
get_test_job
Polls an async Unity test job by job_id.
run_tests
Starts a Unity test run asynchronously and returns a job_id immediately.
manage_ui
Manages Unity UI Toolkit elements (UXML documents, USS stylesheets, UIDocument components).
manage_shader
Manages shader scripts in Unity (create, read, update, delete).
manage_texture
Procedural texture generation for Unity.
manage_vfx
Manage Unity VFX components (ParticleSystem, VisualEffect, LineRenderer, TrailRenderer).

Similar servers