MCP Unity currently provides the following tools:
execute_menu_item: Executes Unity menu items (functions tagged with the MenuItem attribute) select_object: Selects game objects in the Unity hierarchy package_manager: Installs, removes, and updates packages in the Unity Package Manager run_tests: Runs tests using the Unity Test Runner notify_message: Displays messages in the Unity Editor MCP Unity currently provides the following resources:
get_menu_items: Retrieves a list of all available menu items in the Unity Editor to facilitate execute_menu_item tool get_hierarchy: Retrieves a list of all game objects in the Unity hierarchy get_console_logs: Retrieves a list of all logs from the Unity console get_packages: Retrieves information about installed and available packages from the Unity Package Manager get_assets: Retrieves information about assets in the Unity Asset Database
No reviews yet. Be the first to review!
Sign in to join the conversation
Executes Unity menu items (functions tagged with the MenuItem attribute). Example prompt: 'Execute the menu item 'GameObject/Create Empty' to create a new empty GameObject'
Selects game objects in the Unity hierarchy by path or instance ID. Example prompt: 'Select the Main Camera object in my scene'
Updates a GameObject's core properties (name, tag, layer, active/static state), or creates the GameObject if it does not exist. Example prompt: 'Set the Player object's tag to 'Enemy' and make it inactive'
Updates component fields on a GameObject or adds it to the GameObject if it does not contain the component. Example prompt: 'Add a Rigidbody component to the Player object and set its mass to 5'
Installs new packages in the Unity Package Manager. Example prompt: 'Add the TextMeshPro package to my project'
Runs tests using the Unity Test Runner. Example prompt: 'Run all the EditMode tests in my project'
Send a console log to Unity. Example prompt: 'Send a console log to Unity Editor'
Adds an asset from the AssetDatabase to the Unity scene. Example prompt: 'Add the Player prefab from my project to the current scene'
Creates a prefab with optional MonoBehaviour script and serialized field values. Example prompt: 'Create a prefab named 'Player' from the 'PlayerController' script'
Creates a new scene and saves it to the specified path. Example prompt: 'Create a new scene called 'Level1' in the Scenes folder'
Loads a scene by path or name, with optional additive loading. Example prompt: 'Load the MainMenu scene'
Deletes a scene by path or name and removes it from Build Settings. Example prompt: 'Delete the old TestScene from my project'
Gets detailed information about a specific GameObject including all components. Example prompt: 'Get the details of the Player GameObject'
Retrieves logs from the Unity console with pagination support. Example prompt: 'Show me the last 20 error logs from the Unity console'
Recompiles all scripts in the Unity project. Example prompt: 'Recompile scripts in my Unity project'
Saves the current active scene, with optional Save As to a new path. Example prompt: 'Save the current scene' or 'Save the scene as 'Assets/Scenes/Level2.unity''
Gets information about the active scene including name, path, dirty state, and all loaded scenes. Example prompt: 'What scenes are currently loaded in my project?'
Unloads a scene from the hierarchy (does not delete the scene asset). Example prompt: 'Unload the UI scene from the hierarchy'
Duplicates a GameObject in the scene with optional renaming and reparenting. Example prompt: 'Duplicate the Enemy prefab 5 times and rename them Enemy_1 through Enemy_5'
Deletes a GameObject from the scene. Example prompt: 'Delete the old Player object from the scene'
Changes the parent of a GameObject in the hierarchy. Example prompt: 'Move the HealthBar object to be a child of the UI Canvas'
Moves a GameObject to a new position (local or world space). Example prompt: 'Move the Player object to position (10, 0, 5) in world space'
Rotates a GameObject to a new rotation (local or world space, Euler angles or quaternion). Example prompt: 'Rotate the Camera 45 degrees on the Y axis'
Scales a GameObject to a new local scale. Example prompt: 'Scale the Enemy object to twice its size'
Sets position, rotation, and scale of a GameObject in a single operation. Example prompt: 'Set the Cube's position to (0, 5, 0), rotation to (0, 90, 0), and scale to (2, 2, 2)'
Creates a new material with specified shader and saves it to the project. Example prompt: 'Create a red material called 'EnemyMaterial' using the URP Lit shader'
Assigns a material to a GameObject's Renderer component. Example prompt: 'Assign the 'EnemyMaterial' to the Enemy GameObject'
Modifies properties of an existing material (colors, floats, textures). Example prompt: 'Change the color of 'EnemyMaterial' to blue and set metallic to 0.8'
Gets detailed information about a material including shader and all properties. Example prompt: 'Show me all the properties of the 'PlayerMaterial'
Executes multiple tool operations in a single batch request, reducing round-trips and enabling atomic operations with optional rollback on failure. Example prompt: 'Create 10 empty GameObjects named Enemy_1 through Enemy_10 in a single batch operation'