# Default MCP Tools [![MCP](https://badge.mcpx.dev 'MCP Server')](https://modelcontextprotocol.io/introduction) [![OpenUPM](https://img.shields.io/npm/v/com.ivanmurzak.unity.mcp?label=OpenUPM®istry_uri=https://package.openupm.com&labelColor=333A41 'OpenUPM package')](https://openupm.com/packages/com.ivanmurzak.unity.mcp/) [![Docker Image](https://img.shields.io/docker/image-size/ivanmurzakdev/unity-mcp-server/latest?label=Docker%20Image&logo=docker&labelColor=333A41 'Docker Image')](https://hub.docker.com/r/ivanmurzakdev/unity-mcp-server) [![Unity Editor](https://img.shields.io/badge/Editor-X?style=flat&logo=unity&labelColor=333A41&color=49BC5C 'Unity Editor supported')](https://unity.com/releases/editor/archive) [![Unity Runtime](https://img.shields.io/badge/Runtime-X?style=flat&logo=unity&labelColor=333A41&color=49BC5C 'Unity Runtime supported')](https://unity.com/releases/editor/archive) [![r](https://github.com/IvanMurzak/Unity-MCP/workflows/release/badge.svg 'Tests Passed')](https://github.com/IvanMurzak/Unity-MCP/actions/workflows/release.yml)
[![Discord](https://img.shields.io/badge/Discord-Join-7289da?logo=discord&logoColor=white&labelColor=333A41 'Join')](https://discord.gg/cfbdMZX99G) [![Stars](https://img.shields.io/github/stars/IvanMurzak/Unity-MCP 'Stars')](https://github.com/IvanMurzak/Unity-MCP/stargazers) [![License](https://img.shields.io/github/license/IvanMurzak/Unity-MCP?label=License&labelColor=333A41)](https://github.com/IvanMurzak/Unity-MCP/blob/main/LICENSE) [![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://stand-with-ukraine.pp.ua) Unity-MCP comes with a comprehensive suite of built-in tools that allow AI models to interact with the Unity Editor and Runtime. > **Note**: Tool names below are the *Titles* displayed in AI clients. Internal IDs are in kebab-case (e.g., `assets-create-folder`). ## ๐Ÿ“‚ Asset Management Manage files, folders, and project resources. | Tool | ID | Description | | :--- | :--- | :--- | | **Assets / Create Folder** | `assets-create-folder` | Create new directories (supports nested paths). | | **Assets / Delete** | `assets-delete` | Delete a specific asset or file. | | **Assets / Find** | `assets-find` | Find assets using search filters (e.g., `t:Texture`). | | **Assets / Find (Built-in)** | `assets-find-built-in` | Search built-in Unity Editor assets. | | **Assets / Copy** | `assets-copy` | Duplicate an asset. | | **Assets / Move** | `assets-move` | Move or rename an asset. | | **Assets / Get Data** | `assets-get-data` | Retrieve metadata or content of an asset. | | **Assets / Modify** | `assets-modify` | Modify an asset file in the project. | | **Assets / Refresh** | `assets-refresh` | Force an Asset Database refresh. | ### Materials & Shaders | Tool | ID | Description | | :--- | :--- | :--- | | **Assets / Create Material** | `assets-material-create` | Create a new Material asset. | | **Assets / List Shaders** | `assets-shader-list-all` | List all available shaders in the project. | | **Assets / Shader / Get Data** | `assets-shader-get-data` | Get shader data โ€” properties, subshaders, passes, and compilation messages. | ### Prefabs | Tool | ID | Description | | :--- | :--- | :--- | | **Assets / Prefab / Instantiate** | `assets-prefab-instantiate` | Spawn a prefab into the active scene. | | **Assets / Prefab / Create** | `assets-prefab-create` | Create a prefab from a scene object. | | **Assets / Prefab / Open** | `assets-prefab-open` | Open Prefab Mode. | | **Assets / Prefab / Close** | `assets-prefab-close` | Exit Prefab Mode. | | **Assets / Prefab / Save** | `assets-prefab-save` | Save changes in Prefab Mode. | ## ๐ŸŽฎ GameObject Manage scene objects and hierarchy. | Tool | ID | Description | | :--- | :--- | :--- | | **GameObject / Create** | `gameobject-create` | Create a new GameObject (Empty or Primitive). | | **GameObject / Destroy** | `gameobject-destroy` | Remove a GameObject. | | **GameObject / Duplicate** | `gameobject-duplicate` | Clone a GameObject. | | **GameObject / Find** | `gameobject-find` | Find objects by Name, Tag, or Type. | | **GameObject / Modify** | `gameobject-modify` | Update Transform, Name, Tag, Layer, Active state. | | **GameObject / Set Parent** | `gameobject-set-parent` | Change hierarchy parent. | ### Components | Tool | ID | Description | | :--- | :--- | :--- | | **GameObject / Component / Add** | `gameobject-component-add` | Add a component (e.g., `Rigidbody`). | | **GameObject / Component / Destroy** | `gameobject-component-destroy` | Remove a component. | | **GameObject / Component / Get** | `gameobject-component-get` | Get details of a component. | | **GameObject / Component / Modify** | `gameobject-component-modify` | Set fields, properties, or object references. | | **GameObject / Component / List All** | `gameobject-component-list-all` | List available Component types. | ## ๐ŸŽฌ Scene Management | Tool | ID | Description | | :--- | :--- | :--- | | **Scene / Create** | `scene-create` | Create a new Scene asset. | | **Scene / Open** | `scene-open` | Open a scene in the Editor. | | **Scene / Save** | `scene-save` | Save the current scene. | | **Scene / Unload** | `scene-unload` | Unload an additive scene. | | **Scene / Set Active** | `scene-set-active` | Set the active scene. | | **Scene / Get Data** | `scene-get-data` | Get list of root objects in a scene. | | **Scene / List Opened** | `scene-list-opened` | List currently open scenes. | ## ๐Ÿ“ Scripting | Tool | ID | Description | | :--- | :--- | :--- | | **Script / Update or Create** | `script-update-or-create` | Create or update a C# script file. | | **Script / Read** | `script-read` | Read the content of a `.cs` file. | | **Script / Delete** | `script-delete` | Delete a script file. | | **Script / Execute** | `script-execute` | Compile and run C# code snippet dynamically. | ## ๐Ÿ“ฆ Package Manager | Tool | ID | Description | | :--- | :--- | :--- | | **Package Manager / List Installed** | `package-list` | List installed packages. | | **Package Manager / Add** | `package-add` | Install package (Registry, Git, Local). | | **Package Manager / Remove** | `package-remove` | Uninstall a package. | | **Package Manager / Search** | `package-search` | Search Unity Registry. | ## ๐Ÿงฉ Object | Tool | ID | Description | | :--- | :--- | :--- | | **Object / Get Data** | `object-get-data` | Get serialized data of a Unity Object including properties and fields. | | **Object / Modify** | `object-modify` | Directly modify fields and properties of a Unity Object. | ## ๐Ÿ“ธ Screenshot | Tool | ID | Description | | :--- | :--- | :--- | | **Screenshot / Camera** | `screenshot-camera` | Capture a screenshot from a camera (defaults to Main Camera). | | **Screenshot / Game View** | `screenshot-game-view` | Capture a screenshot from the Unity Editor Game View. | | **Screenshot / Scene View** | `screenshot-scene-view` | Capture a screenshot from the Unity Editor Scene View. | | **Screenshot / Isolated GameObject** | `screenshot-isolated` | Render a target GameObject in isolation from a chosen angle, with optional Composite (2x2) view. | ## ๐Ÿงช Testing | Tool | ID | Description | | :--- | :--- | :--- | | **Tests / Run** | `tests-run` | Execute Unity tests (EditMode/PlayMode) with optional filters and return detailed results. | ## ๐Ÿ’ก Advanced & Editor | Tool | ID | Description | | :--- | :--- | :--- | | **Console / Get Logs** | `console-get-logs` | Retrieve Unity Console logs. | | **Console / Clear Logs** | `console-clear-logs` | Clear the MCP log cache and the Unity Editor Console window. | | **Editor / Application / Get State** | `editor-application-get-state` | Check Play/Pause/Edit mode status. | | **Editor / Application / Set State** | `editor-application-set-state` | Set Play/Pause status. | | **Editor / Selection / Get** | `editor-selection-get` | Get current selection. | | **Editor / Selection / Set** | `editor-selection-set` | Set current selection. | | **Method C# / Find** | `reflection-method-find` | Find any C# method (public/private). | | **Method C# / Call** | `reflection-method-call` | Execute any found method. | | **Type / Get Json Schema** | `type-get-json-schema` | Generate a JSON Schema for a C# type via reflection. | ## ๐Ÿ“Š Profiling & Diagnostics | Tool | ID | Description | | :--- | :--- | :--- | | **Profiler / Start** | `profiler-start` | Enable Unity's runtime profiler and open the Profiler window. | | **Profiler / Stop** | `profiler-stop` | Disable Unity's runtime profiler. | | **Profiler / Get Status** | `profiler-get-status` | Return the profiler's enabled state, active modules, and platform support. | | **Profiler / Capture Frame** | `profiler-capture-frame` | Capture the current frame's timing info (delta time, FPS, frame counts). | | **Profiler / Get Memory Stats** | `profiler-get-memory-stats` | Return a memory statistics snapshot (reserved, allocated, mono heap, graphics). | | **Profiler / Get Rendering Stats** | `profiler-get-rendering-stats` | Return frame timing, FPS, vsync, target frame rate, and graphics device type. | | **Profiler / Get Script Stats** | `profiler-get-script-stats` | Return script execution timing plus Mono / GC memory usage. | | **Profiler / List Modules** | `profiler-list-modules` | List all known profiler module names with their enabled flag. | | **Profiler / Enable Module** | `profiler-enable-module` | Toggle the local enabled flag for a named profiler module. | | **Profiler / Clear Data** | `profiler-clear-data` | Discard all frames currently held by the Editor Profiler. | | **Profiler / Save Data** | `profiler-save-data` | Save a snapshot of profiler-derived stats to a JSON file. | | **Profiler / Load Data** | `profiler-load-data` | Read back a previously-saved profiler JSON snapshot. | ![AI Game Developer โ€” Unity MCP](https://github.com/IvanMurzak/Unity-MCP/blob/main/docs/img/promo/hazzard-divider.svg?raw=true)