Unity MCP Built-in Tools Complete Reference — 51 Tools, Parameters & Activation Guide

Unity AI Complete Mastery Series
Part 1 — Unity AI Assistant Complete Beginner’s Guide: Ask, Plan & Agent Modes
Part 2 — Unity MCP Complete Guide: Connecting Claude Code, Codex, Gemini & Cursor to Unity Editor
Part 3 — Building Custom Unity MCP Tools: McpTool Deep Dive and 4 Registration Methods
Part 4 — Automating AI Workflows with the Unity Skills System: SKILL.md Complete Guide
Appendix — Unity MCP Built-in Tools Complete Reference: Parameters & Activation Guide for 51 Tools (this post)
Part 5 — Unity AI Assistant Project Overview Auto-Generation: Making AI Understand Your Project
Part 6 — Unity AI Assistant × Profiler: Diagnose Performance Bottlenecks in Plain Language

When Claude Code or Cursor connects to Unity Editor, what tools can it actually call? The official documentation doesn’t include a full list. This article analyzes the com.unity.ai.assistant @2.7 (Unity 6.3) package source directly and documents all 51 built-in MCP tools — their parameters, types, defaults, and activation methods. Written against Unity 6.3.

TL;DR
– Unity MCP ships with 53 built-in tools total (51 confirmed in source), organized into 5 groups: Core, Assets, Assistant, Debug & Diagnostics, and Editor.
– Only 7 tools are enabled by default (EnabledByDefault = true). The rest must be turned on manually in Project Settings.
– Two registration mechanisms exist: [McpTool] attribute declaration vs. AgentToolMcpAdapter bridging.
– AssetGeneration tools consume Unity Credits, and Profiler tools require captured data in the Profiler window to return meaningful results.
– To build your own tools, see McpTool Deep Dive.

Table of Contents


How to Activate Tools

Unity MCP built-in tools fall into two states:

State Meaning
Enabled by default (EnabledByDefault = true) Available immediately after MCP connection
Manual activation required (EnabledByDefault = false) Must be enabled through the steps below

Manual activation steps:

  1. In the Unity Editor menu, go to Edit > Project Settings
  2. Select AI > Unity MCP in the left panel
  3. Click the Tools tab
  4. Check the box next to each tool you want to enable
  5. Restart the MCP connection in your external AI client (Claude Code, Cursor, etc.)

7 tools enabled by default:

Tool ID Group
Unity.RunCommand Core
Unity.GetConsoleLogs Debug & Diagnostics
Unity.Camera.Capture Editor
Unity.SceneView.Capture2DScene Editor
Unity.SceneView.CaptureMultiAngleSceneView Editor
Unity.AssetGeneration.GenerateAsset Assets
Unity.AssetGeneration.GetModels Assets

These 7 tools are ready to use right after Unity MCP setup and cover the most common workflows. The remaining 44 tools follow an opt-in model — enable only what you need.

AssetGeneration note: GenerateAsset and GetModels are on by default, but AI generation features consume Unity Credits.
Profiler note: Profiler tools require captured data in the Unity Profiler window to return meaningful results.


Quick Reference — All Tools

Tool ID Group Summary Default
Unity.ManageScript Core Legacy script operation router (create/read/delete)
Unity.ManageScript_capabilities Core Query supported operations and limits for ManageScript
Unity.CreateScript Core Create a new C# script at a specified path
Unity.DeleteScript Core Delete a C# script by URI or path
Unity.GetSha Core Retrieve SHA256 hash and metadata for a file
Unity.ApplyTextEdits Core Edit file text at precise character coordinates
Unity.ScriptApplyEdits Core Structural C# editing at method/class level
Unity.ValidateScript Core Diagnose syntax errors and performance hints in C# scripts
Unity.RunCommand Core Compile and execute C# code directly in the Editor
Unity.ListResources Core List file URIs within the project
Unity.ReadResource Core Read file contents with slicing support
Unity.FindInFile Core Search a file using a regex pattern
Unity.ManageGameObject Core Create, modify, delete, and manage components on GameObjects
Unity.ManageScene Core Load, save, create scenes, and query hierarchy
Unity.ManageEditor Core Control Editor play/pause state and settings
Unity.ManageMenuItem Core Execute and search Editor menu items
Unity.ManageAsset Core Import, create, modify, delete, and search assets
Unity.ImportExternalModel Core Download FBX from URL, import, place in scene, save as prefab
Unity.ManageShader Assets Create, read, update, delete shader scripts
Unity.AssetGeneration.GenerateAsset Assets AI-generate sprites, images, 3D models, and sounds
Unity.AssetGeneration.GetModels Assets List available AI models for asset generation
Unity.AssetGeneration.GetCompositionPatterns Assets Retrieve composition patterns for material/TerrainLayer generation
Unity.AssetGeneration.ManageInterrupted Assets Check and resume interrupted asset generation jobs
Unity.AssetGeneration.ConvertToMaterial Assets Convert a texture to a Material (no generative AI)
Unity.AssetGeneration.ConvertToTerrainLayer Assets Convert a texture to a TerrainLayer (no generative AI)
Unity.AssetGeneration.ConvertSpriteSheetToAnimationClip Assets Convert a sprite sheet to an AnimationClip
Unity.AssetGeneration.CreateAnimatorControllerFromClip Assets Create an AnimatorController from an existing AnimationClip
Unity.AssetGeneration.EditAnimationClipTool Assets Edit humanoid AnimationClips
Unity.AudioClip.Edit Assets Trim silence, trim, adjust volume, or loop an audio clip
Unity.FindProjectAssets Assets Search project assets by name and visual-semantic matching
Unity.Grep Assistant Search file contents or list paths using ripgrep
Unity.ReadConsole Debug Query, filter, or clear Unity console messages
Unity.GetConsoleLogs Debug Retrieve console logs including stack traces
Unity.Profiler.GetFrameRangeTopTimeSummary Debug Top time summary for a range of frames
Unity.Profiler.GetFrameTopTimeSamplesSummary Debug Top time samples for a specific frame
Unity.Profiler.GetFrameSelfTimeSamplesSummary Debug Top self-time samples for a specific frame
Unity.Profiler.GetSampleTimeSummary Debug Time summary for a specific profiler sample
Unity.Profiler.GetBottomUpSampleTimeSummary Debug Bottom-up sample time summary
Unity.Profiler.GetSampleTimeSummaryByMarkerPath Debug Sample time summary by Marker ID path
Unity.Profiler.GetRelatedSamplesTimeSummary Debug Related sample summary across concurrent threads
Unity.Profiler.GetOverallGcAllocationsSummary Debug GC allocation summary for the full profiling dataset
Unity.Profiler.GetFrameGcAllocationsSummary Debug Top GC allocation samples for a specific frame
Unity.Profiler.GetFrameRangeGcAllocationsSummary Debug GC allocation summary for a range of frames
Unity.Profiler.GetSampleGcAllocationSummary Debug GC allocation summary for a specific sample
Unity.GetUserGuidelines Editor Load project coding conventions and folder structure context
Unity.GetProjectData Editor Retrieve project overview data
Unity.PackageManager.GetPackageData Editor Query package information
Unity.PackageManager.PackageManagerExecuteAction Editor Add, remove, or install package samples
Unity.Camera.Capture Editor Capture an image from a specific camera or scene view
Unity.SceneView.Capture2DScene Editor Orthographic capture of a rectangular region in a 2D scene
Unity.SceneView.CaptureMultiAngleSceneView Editor 4-angle multi-view capture of a 3D scene

Core (18 tools)

Registered directly via the [McpTool] attribute. Source path: Modules/Unity.AI.MCP.Editor/Tools/


Unity.ManageScript

A legacy compatibility router for script operations. For reading files directly, prefer resources/read; for editing, use Unity.ApplyTextEdits or Unity.ScriptApplyEdits.

Parameter Type Required Default Description
action string 'create' | 'read' | 'delete'
name string Script name (without .cs)
path string "Assets/" Asset path
contents string C# code for create/update
script_type string Type hint (e.g. 'MonoBehaviour')
namespace string Script namespace

Returns: { success, message, data }


Unity.ManageScript_capabilities

Returns supported operations, limits, and guard configuration for Unity.ManageScript.

No parameters

Returns: { ops, text_ops, max_edit_payload_bytes, guards }


Unity.CreateScript

Creates a new C# script at the specified path. The path must be under Assets/, and content is Base64-encoded during transfer.

Parameter Type Required Default Description
path string Asset path (e.g. 'Assets/Scripts/My.cs')
contents string C# code
script_type string Type hint (e.g. 'MonoBehaviour')
namespace string Namespace

Unity.DeleteScript

Deletes a C# script by URI or Assets-relative path. The target must be under Assets/.

Parameter Type Required Default Description
uri string unity://path/... | file://... | Assets/...

Unity.GetSha

Returns the SHA256 hash and basic metadata for a file without reading its contents. Use this together with Unity.ApplyTextEdits‘s precondition_sha256 to prevent concurrent edit conflicts.

Parameter Type Required Default Description
uri string Target file URI

Returns: { sha256, metadata }


Unity.ApplyTextEdits

Replaces text at exact character positions in the file identified by the URI. Line and column numbers are 1-based, and tabs count as 1 character.

Recommended workflow: Unity.ReadResourceUnity.FindInFileUnity.ApplyTextEdits

Parameter Type Required Default Description
uri string URI of the file to edit
edits array List of edit items. Each item: { startLine, startCol, endLine, endCol, newText }
precondition_sha256 string Current file SHA256 to prevent concurrent edit conflicts

Unity.ScriptApplyEdits

Structural C# editing at the method or class level. Safer than raw text replacement — prefer this when possible.

Parameter Type Required Default Description
op string replace_method | insert_method | delete_method | anchor_insert | anchor_delete | anchor_replace
className string name field Target class name
methodName string Conditional Required for replace_method, delete_method
replacement string Conditional Required for replace_method, insert_method
position string insert_method only: start | end | after | before
afterMethodName string Conditional Required when position='after'
beforeMethodName string Conditional Required when position='before'
anchor string Conditional Regex for anchor_* operations
text string Conditional Text to insert for anchor_insert, anchor_replace
options.validate string 'standard' (structural check) | 'relaxed' (internal edits only)

Unity.ValidateScript

Diagnoses syntax errors and performance hints in a C# script.

Parameter Type Required Default Description
uri string URI of the script to validate
level string 'basic' 'basic' (fast syntax check) | 'standard' (includes performance hints)
include_diagnostics boolean false When true, returns full diagnostics and summary

Unity.RunCommand ★ Enabled by default

Compiles and executes C# code directly in Unity Editor. This is the most powerful tool available — it gives you programmatic access to virtually everything in the Editor: physics, input, graphics, gameplay, package management, and more.

Parameter Type Required Default Description
code string C# code to execute. The class name must be CommandScript
title string Operation label for log identification

Returns: { compilationStatus, executionStatus, logs, results }

Golden template (execution fails if you deviate from this structure):

internal class CommandScript
{
    [UnityEditor.MenuItem("Tools/RunCommand", false, 0)]
    public static void Execute()
    {
        var result = new System.Collections.Generic.Dictionary<string, object>();
        // Write your code here
        UnityEngine.Debug.Log(Newtonsoft.Json.JsonConvert.SerializeObject(result));
    }
}

Unity.ListResources

Returns a list of file URIs under a specified folder.

Parameter Type Required Default Description
Pattern string "*" Glob pattern for filtering files
Under string "Assets" Root subfolder to search
Limit integer 200 Maximum number of results
ProjectRoot string Override the project root path

Returns: { success, data: { uris, count }, error? }


Unity.ReadResource

Reads file contents via a unity://path/... URI. Supports line- and byte-level slicing.

Parameter Type Required Default Description
Uri string URI of the file to read (must be under Assets/)
StartLine integer Starting line number (1-based)
LineCount integer Number of lines to read
HeadBytes integer Number of bytes to read from the beginning
TailLines integer Number of lines to read from the end
Request string Natural language request (e.g. 'last 120 lines', '40 lines around MethodName')
ProjectRoot string Override the project root path

Returns: { success, data: { text, metadata }, error? }


Unity.FindInFile

Searches a file using a regex pattern and returns line numbers with excerpts. Ideal for locating rename or edit targets.

Parameter Type Required Default Description
Uri string URI of the file to search
Pattern string Regex search pattern
IgnoreCase boolean true Whether to ignore case
MaxResults integer 200 Maximum number of results
ProjectRoot string Override the project root path

Returns: { success, data: { matches, count }, error? }


Unity.ManageGameObject

Creates, modifies, deletes, and searches GameObjects, and performs component operations.

Parameter Type Required Default Description
action string 'create' | 'modify' | 'find' | 'add_component' | 'remove_component' | 'set_component_property' | 'get_components' | 'get_component'
target string Conditional GameObject name or hierarchy path. Required for modify/delete/component operations
properties object Properties for create/modify (position, rotation, scale, parent, etc.)
component_type string Conditional Type name for component operations (e.g. 'Rigidbody')
component_properties object Conditional { propertyName: value } for set_component_property
search_inactive boolean false Whether to include inactive GameObjects in find

Returns: { success, message, data }


Unity.ManageScene

Loads, saves, or creates Unity scenes, and queries scene hierarchy.

Parameter Type Required Default Description
Action string 'Load' | 'Save' | 'Create' | 'GetHierarchy' (and others)
Name string Conditional Scene name for create/load/save (without extension)
Path string "Assets/" Scene asset path
BuildIndex integer Build index for load/build settings operations

Returns: { success, message, data }


Unity.ManageEditor

Controls and queries Unity Editor play state, active tool, tags, layers, and more.

Parameter Type Required Default Description
Action string 'Play' | 'Pause' | 'Stop' | 'GetState' | 'SetActiveTool' | 'AddTag' | 'AddLayer' (and others)
WaitForCompletion boolean When true, waits for certain operations to complete
ToolName string Conditional Tool name for SetActiveTool
TagName string Conditional Tag name for AddTag
LayerName string Conditional Layer name for AddLayer

Returns: { success, message, data }


Unity.ManageMenuItem

Executes, searches, and checks the existence of Unity Editor menu items. Use 'List' first to discover menu paths when you’re not sure of the exact path.

Parameter Type Required Default Description
Action string 'Execute' | 'List' | 'Exists' | 'Refresh'
MenuPath string Conditional Required for Execute/Exists (e.g. 'File/Save Project')
Search string Case-insensitive filter string for List
Refresh boolean Force-refresh the menu cache before the operation

Returns: { success, message, data }


Unity.ManageAsset

Handles a wide range of asset operations: import, create, modify, delete, move, rename, and search.

Parameter Type Required Default Description
Action string 'Import' | 'Create' | 'Modify' | 'Delete' | 'Duplicate' | 'Move' | 'Rename' | 'Search' | 'GetInfo' | 'CreateFolder' | 'GetComponents'
Path string Conditional Asset path or search scope
AssetType string Conditional Required for Create (e.g. 'Material', 'Folder')
Properties object Property dictionary for Create/Modify
Destination string Conditional Destination path for Duplicate/Move
SearchPattern string Search pattern (e.g. '*.prefab')
Page integer Pagination for search results

Returns: { success, data, error }


Unity.ImportExternalModel

Downloads an FBX from a URL, imports it into the project, places it in the scene, and saves it as a prefab.

Parameter Type Required Default Description
name string Asset name (single word/ID, no spaces)
fbx_url string FBX file URL (supports local files, URLs, and zips containing FBX)
height float Desired height in the scene
albedo_texture_url string Albedo texture file URL

Returns: { success, data: { sceneGameObject, prefab }, error }


Assets (12 tools)

Unity.ManageShader is registered directly via [McpTool]; the remaining 11 are bridged through AgentToolMcpAdapter.


Unity.ManageShader

Creates, reads, updates, and deletes shader scripts.

Parameter Type Required Default Description
Action string 'Create' | 'Read' | 'Update' | 'Delete'
Name string Shader name (without .shader extension)
Path string "Assets/" Asset path
Contents string Conditional Shader code for Create/Update

Returns: { success, message, data }


Unity.AssetGeneration.GenerateAsset ★ Enabled by default

Generates sprites, images, 3D models, sounds, materials, and more with a single command parameter. Consumes Unity Credits.

Parameter Type Required Default Description
command string See supported command list below
modelId string Conditional Required for generation commands. Use GetModels to verify valid IDs
prompt string Conditional Description of what to generate. For voice generation, provide only the spoken text
targetAssetPath string Conditional Target asset path for edit, upscale, or conversion commands
referenceImageInstanceId string Reference image ID for palette-based recoloring
referenceImageInstanceIds array List of reference image IDs for multi-view 3D model generation
referenceImageLabels array View labels for multi-view images (e.g. ['front', 'back', 'left'])
voiceName string Voice selection for voice generation
durationInSeconds integer Sound duration in seconds (1–10)
loop boolean Whether to generate a seamless loop

Supported commands:

command Description
GenerateSprite Generate a sprite (recommended to call RemoveImageBackground after)
GenerateImage Generate an image (portrait, background, etc.)
RemoveImageBackground Remove the background from an existing sprite or image
UpscaleImage / UpscaleSprite Upscale an image or sprite
RecolorImage / RecolorSprite Recolor based on a palette reference image
EditSpriteWithPrompt / EditImageWithPrompt Edit a sprite or image using a text prompt
GenerateSpritesheet Generate a sprite sheet from a prompt
GenerateCubemap / UpscaleCubemap Generate or upscale a cubemap
GenerateMaterial / AddPbrToMaterial Generate a material or add PBR maps
GenerateTerrainLayer / AddPbrToTerrainLayer Generate a TerrainLayer or add PBR maps
GenerateSound Generate a sound effect or voice
GenerateMesh Generate a 3D model (as a prefab)
RetopologyMesh Retopologize an existing mesh
TextureMesh Add a texture to an existing mesh
RigMesh Add rigging to an existing mesh

Unity.AssetGeneration.GetModels ★ Enabled by default

Returns the list of AI models available for asset generation. Use this to verify modelId values before calling GenerateAsset.

No parameters

Returns: List of models (each entry includes a ModelId GUID)


Unity.AssetGeneration.GetCompositionPatterns

Returns available composition patterns that can be used as reference images for material or TerrainLayer generation. Call this before GenerateMaterial or GenerateTerrainLayer.

No parameters


Unity.AssetGeneration.ManageInterrupted

Checks or resumes interrupted asset generation jobs.

Parameter details were not confirmed in source.


Unity.AssetGeneration.ConvertToMaterial

Creates a Material from an existing Texture2D or Cubemap asset. Does not use generative AI.

Parameter Type Required Default Description
targetAssetPath string Path to the Texture2D or Cubemap asset
savePath string Save path for the generated .mat file

Unity.AssetGeneration.ConvertToTerrainLayer

Creates a TerrainLayer from an existing Texture2D asset. Does not use generative AI.

Parameter Type Required Default Description
referenceImagePath string Path to the Texture2D asset
savePath string Save path for the generated .terrainlayer file

Unity.AssetGeneration.ConvertSpriteSheetToAnimationClip

Creates an AnimationClip from a pre-sliced Texture2D sprite sheet.

Parameter Type Required Default Description
referenceImagePath string Path to the sliced Texture2D asset
savePath string Save path for the generated .anim file

Unity.AssetGeneration.CreateAnimatorControllerFromClip

Creates an AnimatorController from an existing AnimationClip and sets that clip as the default state.

Parameter Type Required Default Description
animationClipPath string Path to the existing .anim asset
savePath string Save path for the generated .controller file

Unity.AssetGeneration.EditAnimationClipTool

Edits a Unity humanoid AnimationClip. Humanoid clips only.

Parameter Type Required Default Description
command string 'MakeStationary' (remove root motion) | 'TrimToBestLoop' (trim to optimal loop range)
targetAssetPath string Path to the target .anim file

Unity.AudioClip.Edit

Trims silence, trims audio, adjusts volume, or creates a loop for an AudioClip asset. For a more natural loop, run TrimSilence before LoopSound.

Parameter Type Required Default Description
command string 'TrimSilence' | 'TrimSound' | 'ChangeVolume' | 'LoopSound'
targetAssetPath string Path to the target AudioClip asset
startTime float Conditional Trim start time in seconds (for TrimSound)
endTime float Conditional Trim end time in seconds (for TrimSound)
volume float Conditional Volume value (for ChangeVolume)

Unity.FindProjectAssets

Searches project assets using a combination of name matching and visual-semantic search.

Parameter Type Required Default Description
query string Search query. Supports prefix syntax below

Query prefix syntax:

Prefix Meaning Example
t:<type> Filter by asset type t:Texture2D, t:Prefab
dir:<path> Restrict search directory dir:Assets/Characters
l:<label> Filter by asset label l:Environment
k:<keyword> Keyword search k:fire particle

Results include a ResponseGuidance field — follow the guidance it provides when displaying results.


Assistant (1 tool)


Unity.Grep

Searches file contents or lists files by path pattern using ripgrep (rg). Searches .cs files only by default.

Parameter Type Required Default Description
args string ripgrep argument string including the search pattern. Use --glob/--type to specify file types, -l to output file paths only
path string Search scope directory (limits search to this folder when specified)

Examples:
– Search all .cs files for NavMeshAgent: args="NavMeshAgent"
– Search JSON files: args="--type json \"someKey\""
– List matching file paths only: args="-l \"TODO\""


Debug & Diagnostics (14 tools)

Unity.ReadConsole is registered directly via [McpTool]; Unity.GetConsoleLogs and the 11 Profiler tools are bridged through AgentToolMcpAdapter.

Profiler prerequisite: All Profiler tools require data captured in the Unity Profiler window. Without it, they return empty results.


Unity.ReadConsole

Queries or clears Unity Editor console messages. Offers finer filtering (type, timestamp, format) than Unity.GetConsoleLogs.

Parameter Type Required Default Description
Action string 'Get' | 'Clear'
Types string 'All' 'Error' | 'Warning' | 'Log' | 'All'
Count integer Maximum number of messages to return
FilterText string Message text filter
SinceTimestamp string Return only messages after this timestamp (ISO 8601)
Format string 'Plain' 'Plain' | 'Detailed' | 'Json'
IncludeStacktrace boolean Whether to include stack traces

Returns: { success, data: { messages } }


Unity.GetConsoleLogs ★ Enabled by default

A quick way to retrieve Unity console logs including stack traces. Use this for fast debugging; switch to Unity.ReadConsole when you need finer-grained filtering.

Parameter Type Required Default Description
maxEntries integer 50 Maximum number of entries
includeStackTrace boolean true Whether to include stack traces
logTypes string "info,warning,error" Log types to retrieve (comma-separated)

Profiler Tools (11 tools)

All Profiler tools are registered in ProfilingSummaryTools.cs with McpAvailability.Available. For full parameter details, refer directly to the source code.

Tool ID Primary Input Description
Unity.Profiler.GetFrameRangeTopTimeSummary Frame range Top time summary for a range of frames
Unity.Profiler.GetFrameTopTimeSamplesSummary Frame number Top time samples for a specific frame
Unity.Profiler.GetFrameSelfTimeSamplesSummary Frame number Top self-time samples for a specific frame
Unity.Profiler.GetSampleTimeSummary Sample identifier Time summary for a specific sample
Unity.Profiler.GetBottomUpSampleTimeSummary Sample identifier Bottom-up sample time analysis
Unity.Profiler.GetSampleTimeSummaryByMarkerPath Marker ID path Sample time summary by marker path
Unity.Profiler.GetRelatedSamplesTimeSummary Sample identifier Related samples across concurrent threads
Unity.Profiler.GetOverallGcAllocationsSummary (none) GC allocation summary for the full dataset
Unity.Profiler.GetFrameGcAllocationsSummary Frame number Top GC allocation samples for a specific frame
Unity.Profiler.GetFrameRangeGcAllocationsSummary Frame range GC allocation summary for a range of frames
Unity.Profiler.GetSampleGcAllocationSummary Sample identifier GC allocation summary for a specific sample

Editor (7 tools)

All 7 tools are bridged through AgentToolMcpAdapter.


Unity.GetUserGuidelines

Loads project context including coding conventions, folder structure, and naming rules. Call this before creating, editing, or analyzing files to get results that match your project’s existing style.

No parameters


Unity.GetProjectData

Returns basic project data needed to generate a project overview in Markdown.

No parameters


Unity.PackageManager.GetPackageData

Retrieves description, version, and dependency information for a Unity package. Cannot be used to install packages.

Parameter Type Required Default Description
packageName string Package name (e.g. com.unity.addressables)

※ Parameter name not confirmed directly in source — may differ from actual implementation.


Unity.PackageManager.PackageManagerExecuteAction

Adds or removes Unity packages, or installs package samples.

Parameter Type Required Default Description
action string 'Add' | 'Remove' | 'InstallSample' (inferred)
packageName string Package name

※ Parameter names not confirmed directly in source — may differ from actual implementation.


Unity.Camera.Capture ★ Enabled by default

Captures an image from a specific camera or the current scene view. High computational cost — only use this when you actually need scene view context.

Parameter Type Required Default Description
instanceId integer Instance ID of the GameObject with the Camera component. Omit to capture the current scene view

Unity.SceneView.Capture2DScene ★ Enabled by default

Captures a specific rectangular region in a 2D scene using orthographic (top-down) projection.

Parameter Type Required Default Description
x float World X coordinate of the capture area center
y float World Y coordinate of the capture area center
width float World width of the capture area
height float World height of the capture area
pixelsPerUnit float Resolution (higher = more detail, but larger image size)

Unity.SceneView.CaptureMultiAngleSceneView ★ Enabled by default

Captures a 3D scene from 4 angles — isometric, front, top, and right — and returns them as a 2×2 grid. 3D scenes only — use Unity.SceneView.Capture2DScene for 2D scenes.

Parameter Type Required Default Description
focusObjectIds integer array List of GameObject instance IDs to frame. Omit to frame all objects in the scene

Common Tool Combinations in Practice

Once you’ve skimmed the reference, you’ll start to see how the tools fit together. Here are a few patterns that keep coming up in real workflows.

Script editing flow: Unity.GetShaUnity.ReadResourceUnity.FindInFileUnity.ApplyTextEdits is the safe sequence. Grabbing the SHA upfront prevents conflicts from concurrent edits. For structural changes, consider Unity.ScriptApplyEdits first.

AI asset generation flow: Check Unity.AssetGeneration.GetModels for a valid modelId before calling GenerateAsset — that’s the baseline. For sprites, Unity’s own source recommends chaining RemoveImageBackground immediately after generation.

Profiler analysis flow: All 11 Profiler tools return empty results if the Unity Profiler window has no captured data. Capture first, then use GetFrameRangeTopTimeSummary to narrow down bottleneck frames, and GetSampleTimeSummary to drill into specific samples.


Related Posts


← Previous: Part 4 — Automating AI Workflows with the Unity Skills System

Leave a Comment