Tools Reference¶
Tools are organized into a 15-tool Core and eight task-oriented categories. Use the live catalog to discover the tools available in your installed version.
How Tools Work¶
TIER1 tools — Always visible to your AI assistant.
Category-gated tools — Enable via discover_tools(category, enable=True) or through the Unity Biome MCP Settings panel.
Unknown tools — Plugin-registered tools pass through automatically.
Categories Overview¶
| Category | Purpose |
|---|---|
| Core | 15 always-visible tools for hierarchy inspection, component access, object changes, batching, and verification |
| SCENE | Scene and object lifecycle, hierarchy queries, spatial context, and scene changes |
| COMPONENTS | Component references and event wiring |
| ASSETS | Prefabs, materials, shaders, ScriptableObjects, and project settings |
| MEDIA | Animation, Timeline, particles, screenshots, rendering, and UI |
| VERIFY | Compile checks, scene validation, diagnostics, and post-change verification |
| RUNTIME | Play Mode state, methods, watches, debugging, and profiling |
| TESTS | Unity tests, Playtest execution, linting, and alias synchronization |
| SYSTEM | Connection, sessions, skills, permissions, intent tools, and maintenance |
Quick Links by Task¶
I want to...¶
Inspect my scene - get_hierarchy — Tree view of all GameObjects - search_scene — Find objects by name/component/tag - get_component — Read component properties
Create & modify objects - create_object — Spawn new GameObjects - set_property — Change component values - manage_component — Add/remove components - batch — Run compatible operations in one call
Work with prefabs - prefab (save) — Convert scene instance → prefab asset - prefab (edit) — Modify prefab without unpacking - prefab (apply/revert) — Push/discard instance changes
Run tests & playtests - run_playtest — Execute DSL-based test scenarios - run_tests — Low-level nonblocking NUnit dispatch - run_tests_wait — Preferred interactive correlated NUnit runner - get_test_run — Poll one exact durable NUnit run - resolve_test_request — Resolve a lost start acknowledgment - cancel_test_run — Cancel one exact durable NUnit run - list_test_runs — Inspect recent durable NUnit runs - test_step — Single assertion within a test
Take screenshots - screenshot — Capture game view with annotations - screenshot_baseline — Save reference image - screenshot_compare — Visual diff against baseline
Debug & Verify - doctor — Health check with auto-fix - verify_after_change — 5-gate verification (compile, errors, console, tests, playtests) - scan_scene — Scene infrastructure audit - scene_health — Hierarchy and health checks - validate_references — ObjectReference field validation - resolve_scene_refs — Resolve paths and aliases - lint_scene_refs — Lint DSL and batch references - get_console — Read console errors & warnings - get_compile_errors — C# compile status - reconnect_unity — Restart TCP connection
Advanced: Animation & VFX - animator_intent — Setup animation controller - vfx_intent — Natural language VFX control
Advanced: Code analysis - compile_preflight — Validate C# before write - execute_code — Run arbitrary C# in Unity
TIER1 Tools (Always Available)¶
Core (15): - get_hierarchy, get_component, inspect, set_property, create_object - manage_component, batch, editor, get_console, get_compile_errors - execute_code, resolve_scene_refs, scene_change_plan, apply_scene_change, verify_after_change
Other TIER1 tools: Run discover_tools(enable=False, structured=True) and look for entries tagged tier1. This keeps the reference aligned with the installed version.
Enabling Tools by Category¶
To unlock advanced tools, enable the category:
# Enable animation, Timeline, particles, screenshots, rendering, and UI tools
await discover_tools("MEDIA", enable=True)
# Enable validation and compile tools
await discover_tools("VERIFY", enable=True)
# Enable asset tools (prefab, material, scriptable_object, etc.)
await discover_tools("ASSETS", enable=True)
After enabling, the tools appear in your AI's tool list and become callable.
Available categories: - SCENE - COMPONENTS - ASSETS - MEDIA - VERIFY - RUNTIME - TESTS - SYSTEM
Run discover_tools(enable=False, structured=True) to inspect the current catalog, including each tool's supported surfaces. Legacy category aliases remain available with include_legacy=True.
Batch: Combine Operations for Token Savings¶
Only tools reported with surfaces=direct,batch can be batched. Direct-only tools must be called through their typed MCP interface.
# Before: 3 calls
await create_object(name="Player")
await set_property(path="Player", component="Transform", prop="position", value="0,1,0")
await get_component(path="Player", type="Transform")
# After: 1 batch call (text DSL format)
result = await batch("""
create_object name=Player
set_property path=Player component=Transform prop=position value=0,1,0
get_component path=Player type=Transform
""")
See Batch Reference for all batch-eligible commands.
Tool Status & Discovery¶
Check which tools are currently enabled:
# Get all enabled tools in current session
await get_enabled_tools()
# Auto-discover available tools
await discover_tools()
This helps your AI assistant optimize its decision tree — it only offers tools that are actually available in your project.
Troubleshooting: "Tool not found"¶
Before opening an issue:
-
Is the tool's category enabled?
-
Is the MCP connection alive?
-
Check for plugin errors:
-
Run diagnostics:
Next Steps¶
- Scene Tools — Inspect and modify scenes
- Object Tools — Create, edit, and manage GameObjects
- Testing Tools — Run and manage NUnit tests
- Spatial Tools — Analyze geometry, colliders, and layout
- Batch Operations — Combine multiple tools for token savings
- Animation Tools — Animation clips, timelines, state machines
- Shader & Material Tools — Material properties and shader control
- UI Tools — Create and layout UI elements
- Screenshot Tools — Capture and compare visual states
- Component Tools — Component lifecycle and wiring
- Playtest Guide — Automated scenarios and DSL reference
- Asset Tools — Prefabs, materials, ScriptableObjects
- Diagnostics — Troubleshoot and debug
Live reference: Run discover_tools(enable=False, structured=True), then use resolve_tool_schema(tools="tool_name") for the installed tool's current parameters.