Docs · Tools Catalog

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
190
Source
Domain

Scene

Open, save, switch, unload scenes

7

Create a new scene asset.

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

6

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

5

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

2

Serialize an object’s live state to JSON.

Apply a JSON patch to an object’s fields.

Asset

Find, move, modify, refresh assets

9

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

5

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

1

Create a new Material asset.

Shader

List & inspect shaders

2

Inspect a shader’s property list and tags.

Search available shaders in the project.

Editor

Selection · play mode · tools list

6

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

2

Read recent Editor console messages.

Clear the console.

Script

Create, read, delete, execute C#

4

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

3

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

4

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

12

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

4

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

1

Execute Unity test runner suites (EditMode / PlayMode).

System

Ping & author reusable skills

3

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

6

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

2

Serialize every ParticleSystem module on a component to JSON.

Apply property changes across any of the 24 ParticleSystem modules.

ProBuilder

Mesh modeling · extrude · bevel

13

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

14

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

13

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

16

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

13

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

13

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

11

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

13

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.