Create a new scene asset.
190 MCP tools
for Unity, ready for your AI agent.
Every public tool exposed by the AI Game Developer plugin and its extensions — search, filter, expand any one to see its parameters and an example prompt. Tools are how your AI client manipulates the Unity Editor in real time.
Unreal EngineComing SoonGet Notified
UnityActive
GodotComing SoonGet Notified
Scene
Open, save, switch, unload scenes
Open a saved scene for editing in the Editor.
Return the hierarchy + object metadata of a loaded scene.
List all scenes currently loaded in the Editor.
Save changes to one or more open scenes.
Switch the editor’s active working scene.
Unload a scene without deleting the asset.
GameObject
Create, find, parent, modify objects
Create a new GameObject with optional transform.
Destroy a GameObject (and its children).
Clone an existing GameObject in the scene.
Search GameObjects by name, tag, or layer.
Update name, active state, layer, tag, or transform.
Reparent a GameObject in the hierarchy.
Component
Add, get, modify, remove components
Attach a component by type name.
Remove a component from a GameObject.
Retrieve a component’s serialized properties.
List every component attached to a GameObject.
Apply a patch to a component’s serialized fields.
Object
Serialize & patch live objects
Serialize an object’s live state to JSON.
Apply a JSON patch to an object’s fields.
Asset
Find, move, modify, refresh assets
Search project assets by name, type, label, or bundle.
Locate Unity built-in assets (default sprites, meshes, materials).
Return an asset’s metadata, GUID, and serialized properties.
Duplicate an asset to a new path.
Move or rename an asset.
Delete an asset from the project.
Create a folder under Assets/.
Trigger an AssetDatabase refresh.
Update an asset’s importer settings or serialized fields.
Prefab
Create, open, save, instantiate
Create a prefab asset from a scene GameObject.
Open a prefab for editing in prefab mode.
Close prefab edit mode and save.
Persist changes to an open prefab.
Spawn a prefab instance into the active scene.
Material
Create materials
Create a new Material asset.
Shader
List & inspect shaders
Inspect a shader’s property list and tags.
Search available shaders in the project.
Editor
Selection · play mode · tools list
Return GameObjects currently selected in the editor.
Change the editor selection.
Report play mode, paused state, and compile status.
Enter or exit play mode, pause or step.
Enumerate every MCP tool available to the client.
Enable or disable individual MCP tools at runtime.
Console
Read & clear log messages
Read recent Editor console messages.
Clear the console.
Script
Create, read, delete, execute C#
Create or overwrite a C# script file.
Read the contents of a C# script.
Delete a C# script file from the project.
Execute a method on a script with parameters.
Reflection
Invoke C# methods · JSON schemas
Invoke a class method via reflection.
Fuzzy-search methods across loaded assemblies.
Generate a JSON schema for a C# type.
Package
Add, list, search, remove packages
Install a package from registry, Git, or local path.
List installed Unity packages with versions.
Query the package registry for available packages.
Uninstall a Unity package.
Profiler
Capture & inspect performance data
Report whether profiling is active and which modules are recording.
Begin a profiling session.
End the active profiling session.
Capture a single frame of profiling data.
Return memory usage statistics for the captured frames.
Return rendering statistics (draw calls, triangles, batches).
Return per-script CPU timing statistics.
List all available profiler modules and their state.
Enable or disable a specific profiler module.
Clear all captured profiling data.
Save captured profiling data to a .raw file.
Load profiling data from a saved .raw file.
Screenshot
Capture camera / game / scene views
Render a screenshot from a specific Camera component.
Capture the current Game view.
Capture the current Scene view.
Render a single GameObject in isolation.
Tests
Run Unity test runner suites
Execute Unity test runner suites (EditMode / PlayMode).
System
Ping & author reusable skills
Health-check the MCP connection.
Author a reusable skill (a saved, parameterised tool sequence).
Regenerate all skill tool wrappers from their definitions.
Animation
AnimationClip & AnimatorController
Create AnimationClip assets at supplied paths.
Inspect an AnimationClip — curves, frame events, looping flag.
Edit AnimationClip curves, events, loop settings.
Create an AnimatorController asset (auto-folders included).
Inspect an Animator — layers, states, transitions, parameters.
Edit Animator layers, states, transitions, or blend trees.
Particles
Inspect & modify ParticleSystem
Serialize every ParticleSystem module on a component to JSON.
Apply property changes across any of the 24 ParticleSystem modules.
ProBuilder
Mesh modeling · extrude · bevel
Create a primitive ProBuilder mesh (cube, sphere, cylinder, arch, stairs, etc.).
Build a ProBuilder mesh from a 2D polygon of points.
Extrude selected faces along their normals.
Chamfer edge loops with a configurable amount.
Bridge two non-adjacent edges into a new face.
Insert a new face between connected edges.
Split edges into multiple segments.
Delete selected face geometry.
Reverse face winding on selected faces.
Combine multiple ProBuilder meshes into one.
Serialize the vertices, edges, faces, and UVs of a ProBuilder mesh.
Apply a material to selected faces.
Move the pivot point of a ProBuilder mesh.
Cinemachine
Virtual cameras · lens · blends
Create a new CinemachineCamera (virtual camera) GameObject with optional transform, priority, and Follow/LookAt targets.
Read a CinemachineCamera’s full configuration — lens, targets, priority, and pipeline components.
List every CinemachineCamera in the active scene with name, priority, and live state.
Set the Follow and/or LookAt targets of a CinemachineCamera (or clear them).
Set lens fields — FOV / ortho size, near/far clip planes, dutch — of a CinemachineCamera. Only provided fields change.
Add or replace the Body (position-control) component of a CinemachineCamera by type (Follow / Orbital / ThirdPerson / …).
Add or replace the Aim (rotation-control) component of a CinemachineCamera by type (Composer / RotationComposer / …).
Add or configure a CinemachineBasicMultiChannelPerlin (camera shake) on a CinemachineCamera.
Set the Priority value of a CinemachineCamera — higher priority wins control of the brain.
Set the CinemachineBrain default blend style and time (seconds) on a Camera’s brain.
Ensure a CinemachineBrain component exists on a Camera GameObject (adds it if missing).
Add a CinemachineExtension-derived component (by type name) to a CinemachineCamera.
Serialize any Cinemachine component on a GameObject via ReflectorNet.
Apply a SerializedMember diff to any Cinemachine component via ReflectorNet.
Splines
Knots · tangents · evaluate curves
Create a new SplineContainer GameObject (with one empty spline) in the active scene.
Add a new empty Spline to an existing SplineContainer. Returns the new spline index.
Append a knot (BezierKnot) to a spline. Returns the appended knot index.
Insert a knot at a specific index in a spline, shifting later knots forward.
Set position / tangents / rotation of an existing knot. Only provided fields change.
Remove the knot at the given index from a spline, shifting later knots back.
Set the TangentMode (Linear / Continuous / Broken / AutoSmooth / Mirrored) of a knot.
Toggle whether a spline is a closed loop (last knot connects back to the first).
Evaluate a spline at normalized t in [0,1] — position (local + world), tangent, and up.
Read all knots — position, tangents, rotation, tangent mode — of a spline.
List all SplineContainers in the active scene with name and per-spline knot counts.
Serialize any Splines component on a GameObject via ReflectorNet.
Apply a SerializedMember diff to any Splines component via ReflectorNet.
Terrain
Sculpt · paint · scatter trees
Create a new Terrain GameObject backed by a new TerrainData asset, with heightmap resolution and size.
Set heightmap values over a region or the whole terrain — uniform fill or an explicit 2D array.
Read normalized [0,1] heightmap values over a region (or the whole terrain).
Set the world-space size (width / height / length) of a Terrain’s TerrainData. Omitted axes unchanged.
Set the heightmap resolution of a Terrain’s TerrainData (rounded to a valid 2^n + 1).
Add a TerrainLayer to a Terrain — from an existing .terrainlayer asset or a new layer built from a texture.
Remove a TerrainLayer from a Terrain by index. Returns the remaining layer count.
Paint a TerrainLayer over a region by writing the alphamap so the chosen layer has the given strength.
Place trees on a Terrain from a prototype — random scatter (count) or explicit positions.
Replace the Terrain’s tree prototypes from prefab asset paths. Returns the resulting count.
Replace the Terrain’s detail prototypes (grass / detail meshes) from textures and/or prefabs.
Set the left / top / right / bottom neighbor Terrains of a center Terrain so Unity blends seams.
Read a Terrain’s configuration — size, resolutions, layers, prototypes, and tree count.
List all Terrains in the active scene with name, size, heightmap resolution, and layer count.
Serialize a Terrain / TerrainCollider component on a GameObject via ReflectorNet.
Apply a SerializedMember diff to a Terrain / TerrainCollider component via ReflectorNet.
Input System
Action maps · bindings · schemes
Create a new .inputactions InputActionAsset at an Assets/ path, optionally with an initial ActionMap.
Add a new ActionMap to an existing InputActionAsset and save it.
Remove an ActionMap (and its actions / bindings) from an InputActionAsset and save it.
Add an Action (type + optional expectedControlType + optional initial binding) to an ActionMap.
Remove an Action (and its bindings) from an ActionMap and save the asset.
Add a simple Binding (path / groups / interactions / processors) to an Action.
Add a composite Binding (2DVector / 1DAxis / …) with named parts to an Action.
Update a Binding’s path / groups / interactions / processors by index on an Action.
Remove a Binding by index from an Action and save the asset.
Add a Control Scheme (with required / optional device requirements) to an InputActionAsset.
Read an InputActionAsset’s full structure — maps, actions, bindings, and control schemes.
Apply a SerializedMember diff to an InputActionAsset via ReflectorNet.
Re-serialize an InputActionAsset to disk and re-import it.
Tilemap
2D grids · paint · tile assets
Create a Grid GameObject with a child Tilemap + TilemapRenderer in the active scene.
Paint a single TileBase asset into a Tilemap at a cell coordinate. A null path erases the cell.
Fill a rectangular region of a Tilemap with a TileBase asset via Tilemap.BoxFill.
Clear all tiles or a rectangular region from a Tilemap.
Read the tile at a single Tilemap cell — presence, asset name/path, color, collider type.
Set the per-cell collider type (None / Sprite / Grid) of a tile in a Tilemap.
Set per-cell color and/or transform (flip / rotate / scale) of a painted tile.
Set the tile anchor and/or layout orientation of a Tilemap.
List all Tilemaps in the active scene with name, tile count, bounds, and orientation.
Serialize a Tilemap-related component on a GameObject via ReflectorNet.
Apply a SerializedMember diff to a Tilemap-related component via ReflectorNet.
Create a Tile asset from a Sprite — color + collider type — and save it at an Assets/ path.
Create a RuleTile asset (2D Tilemap Extras) with an optional default Sprite at an Assets/ path.
Navigation
NavMesh · bake · agents · links
Add and configure a NavMeshSurface on a GameObject (or a new one) — agent type, collect objects, area.
Set NavMesh bake settings — agent radius / height / max-slope / step-height and voxel size.
Bake (BuildNavMesh) or clear (RemoveData) the NavMesh of a NavMeshSurface.
Add and configure a NavMeshModifier on a GameObject — override area, ignore-from-build, apply-to-children.
Add and configure a NavMeshModifierVolume on a GameObject — box size / center and the area inside.
Add and configure a NavMeshLink on a GameObject — start/end points, width, bidirectional, cost, area.
Add and configure a NavMeshAgent on a GameObject (or a new one) — agent type, speed, radius, height.
Set a NavMeshAgent’s destination from a world point or a target GameObject and start pathfinding.
List all NavMeshSurfaces and NavMeshAgents in the active scene with key settings.
Serialize any NavMesh component on a GameObject via ReflectorNet.
Apply a SerializedMember diff to any NavMesh component via ReflectorNet.
Timeline
Cutscenes · tracks · clips · binding
Create a new empty TimelineAsset (.playable) at a project path, with optional frame rate and duration mode.
Add a track (Animation / Activation / Audio / Signal / Control / Playable / Group) to a TimelineAsset.
Remove a track (by name or root index) and all its clips / markers from a TimelineAsset.
List every track of a TimelineAsset with type, mute / lock state, and clip count.
Bind a scene object / component to a Timeline output track through a PlayableDirector generic binding.
Add a clip (animation / audio / default) to a Timeline track, with optional start, duration, and name.
Move a Timeline clip to an absolute start time or by a relative delta (duration preserved).
Set clip timing — start, duration, clipIn, blends, eases, timeScale — on a Timeline clip.
Add a marker (SignalEmitter by default) at a time on a track or the timeline marker track.
Bind a TimelineAsset to a GameObject’s PlayableDirector (adds it if missing), optionally setting playOnAwake.
List all TimelineAssets in the project with path, GUID, track count, and duration.
Serialize a TimelineAsset, a TrackAsset, or a clip’s PlayableAsset via ReflectorNet.
Apply a SerializedMember diff to a TimelineAsset / TrackAsset / clip PlayableAsset via ReflectorNet.
Want to ship your own?
Custom tools are first-class. Mark a method with [AiTool] in your Unity package and your AI client picks it up instantly. The AI Tools Template ships the boilerplate.