-
-
Notifications
You must be signed in to change notification settings - Fork 238
AI Tools Reference
Ivan Murzak edited this page Mar 9, 2026
·
4 revisions
Unity-MCP (v0.51.4) exposes 52 tools, 48 prompts, and 1 resource to AI models via the Model Context Protocol. These allow the AI to interact with the Unity Editor just like a human developer would.
Tool names use kebab-case with a category prefix (e.g., assets-find, gameobject-create). All tools are fully implemented and available when the plugin is connected.
| Tool ID | Title | Description |
|---|---|---|
assets-find |
Assets / Find | Search the asset database using filter strings. Supports name, label (l:), type (t:), asset bundle (b:), area (a:), and glob (glob:) filters. |
assets-find-built-in |
Assets / Find (Built-in) | Search built-in assets of the Unity Editor located in the built-in resources path. |
assets-get-data |
Assets / Get Data | Get serialized data of an asset file including all serializable fields and properties. |
assets-modify |
Assets / Modify | Modify an asset file in the project. Not allowed to modify assets in the Packages/ folder. |
assets-move |
Assets / Move | Move or rename assets at specified paths. Performs AssetDatabase.Refresh() afterward. |
assets-copy |
Assets / Copy | Copy assets from source paths to destination paths. Performs AssetDatabase.Refresh() afterward. |
assets-delete |
Assets / Delete | Delete assets at specified paths from the project. |
assets-refresh |
Assets / Refresh | Refresh the AssetDatabase. Use when files are added or updated outside Unity, or to force script recompilation. |
assets-create-folder |
Assets / Create Folder | Create folder structure in the project assets. |
assets-prefab-create |
Assets / Prefab / Create | Create a prefab from a GameObject in the current active scene. |
assets-prefab-open |
Assets / Prefab / Open | Open prefab edit mode for a specific prefab asset. Modifications apply to all instances across the project. |
assets-prefab-close |
Assets / Prefab / Close | Close the currently opened prefab and exit prefab editing mode. |
assets-prefab-save |
Assets / Prefab / Save | Save the currently opened prefab in prefab editing mode. |
assets-prefab-instantiate |
Assets / Prefab / Instantiate | Instantiate a prefab into the current active scene. |
assets-material-create |
Assets / Create Material | Create a new material asset with a specified shader. Creates folders recursively if needed. |
assets-shader-list-all |
Assets / List Shaders | List all available shaders in the project assets and packages. |
| Tool ID | Title | Description |
|---|---|---|
gameobject-create |
GameObject / Create | Create a new GameObject (empty or primitive) in an opened prefab or scene with optional transform settings. |
gameobject-destroy |
GameObject / Destroy | Destroy a GameObject and all nested GameObjects recursively. |
gameobject-duplicate |
GameObject / Duplicate | Duplicate one or more GameObjects in an opened prefab or scene. |
gameobject-find |
GameObject / Find | Find specific GameObjects by name, path, tag, or other criteria. Searches opened prefab first, then active scene. |
gameobject-modify |
GameObject / Modify | Modify GameObject fields and properties. Supports batch modification of multiple GameObjects. |
gameobject-set-parent |
GameObject / Set Parent | Set a parent GameObject for a list of GameObjects, changing the hierarchy structure. |
gameobject-component-add |
GameObject / Component / Add | Add a component to a GameObject by type name (e.g., Rigidbody, BoxCollider). |
gameobject-component-get |
GameObject / Component / Get | Get serialized data of components on a GameObject, providing an Inspector-like view. |
gameobject-component-modify |
GameObject / Component / Modify | Modify a specific component's fields and properties directly on a GameObject. |
gameobject-component-destroy |
GameObject / Component / Destroy | Destroy one or more components from a target GameObject. |
gameobject-component-list-all |
GameObject / Component / List All | List all available component types that can be added to GameObjects. |
| Tool ID | Title | Description |
|---|---|---|
scene-create |
Scene / Create | Create a new scene asset in the project. |
scene-open |
Scene / Open | Open a scene from the project assets in Single or Additive mode. |
scene-save |
Scene / Save | Save an opened scene to its asset file. |
scene-unload |
Scene / Unload | Unload a scene from the opened scenes in Unity Editor. |
scene-set-active |
Scene / Set Active | Set a specified opened scene as the active scene. |
scene-list-opened |
Scene / List Opened | Return the list of currently opened scenes in Unity Editor. |
scene-get-data |
Scene / Get Data | Retrieve the list of root GameObjects in a specified scene. |
| Tool ID | Title | Description |
|---|---|---|
editor-application-get-state |
Editor / Application / Get State | Get the current state of the Unity Editor (play mode, paused, compilation state, etc.). |
editor-application-set-state |
Editor / Application / Set State | Control the Unity Editor application state (start/stop/pause play mode). |
editor-selection-get |
Editor / Selection / Get | Get information about the current selection in the Unity Editor. |
editor-selection-set |
Editor / Selection / Set | Set the current selection in the Unity Editor to specified objects. |
| Tool ID | Title | Description |
|---|---|---|
script-read |
Script / Read | Read the content of a script file and return it as a string. |
script-update-or-create |
Script / Update or Create | Update or create a script file with provided C# code. Reports compilation errors if any. |
script-delete |
Script / Delete | Delete script file(s) and wait for Unity compilation to complete. |
script-execute |
Script / Execute | Compile and execute C# code dynamically using Roslyn. The code must define a class with a static method. |
| Tool ID | Title | Description |
|---|---|---|
package-add |
Package Manager / Add | Install a package from the Unity registry, Git URL, or local path. May trigger domain reload. |
package-remove |
Package Manager / Remove | Remove (uninstall) a package from the project. May trigger domain reload. |
package-list |
Package Manager / List | List installed packages with optional source filtering. |
package-search |
Package Manager / Search | Search for packages in the Unity registry. |
| Tool ID | Title | Description |
|---|---|---|
object-get-data |
Object / Get Data | Get serialized data of a Unity Object including its properties and fields. |
object-modify |
Object / Modify | Modify fields and properties of a Unity Object directly. |
| Tool ID | Title | Description |
|---|---|---|
reflection-method-find |
Method C# / Find | Find methods in the project using C# Reflection. Searches all assemblies, including private methods. |
reflection-method-call |
Method C# / Call | Call any C# method (including private) with specified parameters. Supports static and instance methods. |
| Tool ID | Title | Description |
|---|---|---|
screenshot-camera |
Screenshot / Camera | Capture a screenshot from a camera (defaults to Main Camera) and return it as an image for LLM inspection. |
screenshot-game-view |
Screenshot / Game View | Capture a screenshot from the Unity Editor Game View at its current resolution. |
screenshot-scene-view |
Screenshot / Scene View | Capture a screenshot from the Unity Editor Scene View. |
| Tool ID | Title | Description |
|---|---|---|
console-get-logs |
Console / Get Logs | Retrieve Unity Editor log entries. Supports filtering by log type and limiting the number of entries. |
| Tool ID | Title | Description |
|---|---|---|
tests-run |
Tests / Run | Run Unity tests (EditMode and/or PlayMode) with optional name and category filters. |
| Tool ID | Title | Description |
|---|---|---|
type-get-json-schema |
Type / Get Json Schema | Generate a JSON Schema for a given C# type name using reflection. Supports primitives, enums, arrays, generics, dictionaries, and complex objects. |
Prompts are predefined instruction templates that guide the AI in common Unity development tasks. Each prompt has a kebab-case name and returns a user-role message for the AI to act upon.
| Prompt Name | Description |
|---|---|
setup-basic-scene |
Setup a basic scene with camera, lighting, and basic environment. |
organize-scene-hierarchy |
Clean up and organize the scene hierarchy with proper naming and grouping. |
add-lighting-setup |
Configure lighting including directional light, skybox, and ambient lighting. |
create-prefab-from-selection |
Convert selected GameObjects into reusable prefabs with proper organization. |
setup-scene-camera |
Configure scene camera with appropriate settings for the project type. |
create-environment-template |
Create a basic environment template with ground, sky, and environmental elements. |
| Prompt Name | Description |
|---|---|
add-standard-components |
Add common components like Rigidbody, Collider, and Renderer to selected GameObjects. |
setup-player-controller |
Create a basic player controller with movement scripts and necessary components. |
create-ui-canvas |
Setup Canvas with common UI elements and proper scaling configuration. |
add-physics-interactions |
Configure colliders, rigidbodies, and physics materials for realistic interactions. |
create-interactive-object |
Create an interactive GameObject that responds to player input or triggers. |
setup-audio-source |
Add and configure AudioSource component with common settings. |
create-particle-effects |
Add particle systems for visual effects like explosions, fire, or magic. |
setup-animator-component |
Add Animator component and basic animation setup to GameObjects. |
| Prompt Name | Description |
|---|---|
organize-project-structure |
Create and organize standard project folder hierarchy with proper naming. |
import-setup-sprites |
Import sprite assets and configure import settings with automatic slicing. |
setup-audio-manager |
Create audio management system with sound pools and volume controls. |
configure-build-settings |
Setup build settings including scenes, player settings, and platform configurations. |
create-material-library |
Create a library of common materials with proper naming and organization. |
setup-asset-bundles |
Configure AssetBundles for content streaming and modular loading. |
optimize-texture-settings |
Optimize texture import settings for better performance and memory usage. |
setup-addressables |
Configure Unity Addressables system for efficient asset loading. |
| Prompt Name | Description |
|---|---|
generate-monobehaviour-template |
Create a MonoBehaviour script template with common lifecycle methods. |
add-event-system |
Implement UnityEvent-based communication system between GameObjects. |
create-singleton-manager |
Generate a singleton manager class following Unity best practices. |
setup-coroutine-framework |
Add coroutine-based asynchronous operations and utility methods. |
create-scriptableobject-data |
Generate ScriptableObject classes for data storage and configuration. |
implement-object-pooling |
Create object pooling system for performance optimization. |
add-state-machine |
Create a finite state machine for character or game state management. |
setup-dependency-injection |
Implement simple dependency injection pattern for better code organization. |
| Prompt Name | Description |
|---|---|
add-debug-visualization |
Create debug visualization using Gizmos and Debug.DrawLine. |
setup-performance-profiling |
Add profiler markers and performance tracking to identify bottlenecks. |
create-test-scene |
Generate a dedicated test scene for testing specific features. |
add-logging-system |
Implement structured logging system with different log levels and categories. |
create-unit-tests |
Generate unit tests using Unity Test Framework for critical systems. |
setup-debug-ui |
Create debug UI overlay with runtime controls and information display. |
add-assertion-checks |
Add Debug.Assert statements and validation checks throughout the codebase. |
create-automated-tests |
Setup automated testing pipeline with continuous integration support. |
| Prompt Name | Description |
|---|---|
setup-animator-controller |
Create Animator Controller with state machine for character animation. |
create-simple-tweening |
Add simple tweening animations for UI elements or object movements. |
setup-timeline-sequence |
Create Timeline sequence for cinematic scenes or complex gameplay. |
add-animation-events |
Add animation events to trigger code at specific animation frames. |
create-procedural-animation |
Implement procedural animation systems for dynamic object movement. |
setup-sprite-animation |
Create 2D sprite animations with proper frame timing and looping. |
add-ik-system |
Implement Inverse Kinematics (IK) system for realistic character poses. |
create-animation-blending |
Setup animation blending and layering for complex character animations. |
| Resource Route | Description |
|---|---|
gameobject://currentScene/{path} |
Get a GameObject's components and property values from the current scene by hierarchy path. Lists all GameObjects in the active scene recursively. |
For more details on how these tools, prompts, and resources are implemented, see the API Reference.