Tool Catalog

May 11, 2026 · View on GitHub

Snapshot date: 2026-03-06

Command Groups (Typed Subcommands)

GroupSubcommands
raw(direct tool invocation)
toollist, schema, call
systemping
scenecreate
instanceslist, set-active
cliinstall, doctor
lspinstall, doctor
lspdstart, stop, status
unitydstart, stop, status
batch(batch command execution)

Use raw for full command coverage when no typed subcommand exists.

Managed binary notes:

  • cli install downloads or refreshes the managed unity-cli copy under UNITY_CLI_TOOLS_ROOT (or the OS default tools directory).
  • cli doctor reports the managed unity-cli path, local version, latest release metadata, and whether an update is pending.
  • unityd and lspd automatically refresh managed binaries on daemon startup without an interactive confirmation step.

Global options:

  • --output text|json
  • --dry-run (skip mutating tools and return execution plan)

Unity Tool APIs (101 tools)

Scenes

ToolDescription
create_sceneCreate a new scene
get_scene_infoGet scene metadata
list_scenesList all scenes
load_sceneLoad a scene
save_sceneSave the current scene

GameObjects

ToolDescription
create_gameobjectCreate a new GameObject
delete_gameobjectDelete a GameObject
find_gameobjectFind GameObjects by name or criteria
get_hierarchyGet scene hierarchy tree
modify_gameobjectModify GameObject properties
get_gameobject_detailsGet detailed GameObject info

Components

ToolDescription
add_componentAdd a component to a GameObject
set_component_fieldSet a component field value
get_component_typesList available component types
list_componentsList components on a GameObject
modify_componentModify component properties
remove_componentRemove a component
find_by_componentFind GameObjects by component type
get_component_valuesGet component field values
get_object_referencesGet object reference graph

Animator

ToolDescription
create_animator_controllerCreate an AnimatorController asset with parameters, states, and transitions
create_animation_clipCreate an AnimationClip asset from sprite frames with frame rate and loop settings
get_animator_runtime_infoGet Animator runtime info
get_animator_stateGet current Animator state

Prefabs

ToolDescription
create_prefabCreate a new Prefab
exit_prefab_modeExit Prefab editing mode
instantiate_prefabInstantiate a Prefab in the scene
modify_prefabModify Prefab properties
open_prefabOpen a Prefab for editing
save_prefabSave Prefab changes

Assets

ToolDescription
analyze_scene_contentsAnalyze scene asset contents
manage_asset_databaseManage AssetDatabase operations
analyze_asset_dependenciesAnalyze asset dependency graph
manage_asset_import_settingsManage asset import settings
create_sprite_atlasCreate a SpriteAtlas asset with packables and packing settings
create_materialCreate a new Material
modify_materialModify Material properties
refresh_assetsRefresh the AssetDatabase

Addressables

ToolDescription
addressables_analyzeAnalyze Addressables configuration
addressables_buildBuild Addressables content
addressables_manageManage Addressables groups and entries

Code / LSP

ToolDescription
get_compilation_stateGet C# compilation state
readRead a C# source file
find_refsFind symbol references
searchSearch code by pattern
find_symbolFind symbol definitions
get_symbolsGet symbols in a file
build_indexBuild code search index
update_indexUpdate code search index

Input System

ToolDescription
add_input_actionAdd an Input Action
create_action_mapCreate an Action Map
remove_action_mapRemove an Action Map
remove_input_actionRemove an Input Action
analyze_input_actions_assetAnalyze Input Actions asset
get_input_actions_stateGet Input Actions runtime state
add_input_bindingAdd an Input Binding
create_composite_bindingCreate a composite binding
remove_input_bindingRemove an Input Binding
remove_all_bindingsRemove all bindings from an action
manage_control_schemesManage control schemes
input_gamepadSimulate gamepad input
input_keyboardSimulate keyboard input
input_mouseSimulate mouse input
input_touchSimulate touch input
create_input_sequenceCreate an input sequence
get_current_input_stateGet current input device state

UI

ToolDescription
click_ui_elementClick a UI element
find_ui_elementsFind UI elements by criteria
get_ui_element_stateGet UI element state
set_ui_element_valueSet UI element value
simulate_ui_inputSimulate UI input events

Playback & Testing

ToolDescription
pause_gamePause Play mode
play_gameEnter Play mode
stop_gameExit Play mode
get_test_statusGet test run status
run_testsRun EditMode/PlayMode tests

Profiler

ToolDescription
profiler_get_metricsGet profiler metrics
profiler_startStart profiler capture
profiler_statusGet profiler status
profiler_stopStop profiler capture

Editor

ToolDescription
clear_consoleClear the Console window
clear_logsClear editor logs
read_consoleRead Console output
manage_layersManage layers
quit_editorQuit Unity Editor
manage_selectionManage editor selection
manage_tagsManage tags
manage_toolsManage editor tools
manage_windowsManage editor windows
execute_menu_itemExecute a menu item
package_managerManage packages
registry_configConfigure scoped registries
get_editor_infoGet editor version info
get_editor_stateGet editor state
get_project_settingsGet project settings
update_project_settingsUpdate project settings

Screenshots & Video

ToolDescription
analyze_screenshotAnalyze a screenshot
capture_screenshotCapture a screenshot
capture_video_startStart video capture
capture_video_statusGet video capture status
capture_video_stopStop video capture

System

ToolDescription
get_command_statsGet bridge command statistics and, via the CLI, merged local transport timing stats
pingCheck Unity Editor connectivity
list_packagesList installed packages

Local Tools (No Unity Connection Required)

These tools run locally via Rust and do not require a TCP connection to Unity Editor:

  • read — Read C# source files
  • search — Search code by pattern
  • list_packages — List installed packages
  • get_symbols — Get symbols in a file
  • build_index — Build code search index
  • update_index — Update code search index
  • find_symbol — Find symbol definitions
  • find_refs — Find symbol references

Schema Notes

  • load_scene:
    • exactly one of scenePath / sceneName is required (oneOf)
  • delete_gameobject:
    • at least one of path / paths is required (anyOf)
  • input_keyboard:
    • one of action (single action) or actions (batch) is required (anyOf)
  • Action-based tools:
    • action-specific required fields are enforced via schema variants (oneOf)
    • examples:
      • manage_layers action add requires layerName
      • package_manager action search requires keyword
      • addressables_manage action move_entry requires targetGroupName
      • execute_menu_item action get_available_menus does not require menuPath

Examples:

unity-cli tool schema load_scene --output json
unity-cli tool schema delete_gameobject --output json
unity-cli tool schema input_keyboard --output json
unity-cli tool schema package_manager --output json

Reference Cache (11 tools)

The unity-cli reference * family provides a local read-only mirror of the official UnityCsReference source. Use it when you need the canonical signature or internal implementation of a Unity API. The cache lives under ~/.unity/cache/UnityCsReference/<version>/ (override with UNITY_CLI_CACHE_ROOT). License acceptance is mandatory before the first fetch via --accept-license or UNITY_CLI_ACCEPT_LICENSE=1.

ToolDescription
reference_fetchShallow-clone UnityCsReference for the active Unity version into the local cache.
reference_statusList cached UnityCsReference versions, branches, fetched-at, and disk usage.
reference_searchSearch the cached reference source for a pattern with optional path and result limits.
reference_grepGrep the cached reference source line-by-line with optional file glob and context lines.
reference_viewDisplay a slice of a file in the cached reference source by line range.
reference_cleanRemove old UnityCsReference snapshots, keeping the newest entries.
reference_find_symbolLook up type / method / property definitions in the cached reference source via a per-version on-disk index.
reference_diffCompare a symbol or path range between two cached Unity versions. Returns symbol-level hunks or {added, removed, changed}.
reference_resolve_symbol_atResolve the identifier at a project cursor position (Assets/... / Packages/...) to candidate reference cache entries with view excerpts.
reference_embed_buildBuild an embedding index (BGE-Small-EN, ONNX) for a cached Unity version. Writes .unity-cli-index/embeddings.bin.
reference_embed_searchSemantic / natural-language lookup over the embedding index. Returns hits sorted by cosine similarity.

Typed CLI equivalents:

unity-cli reference fetch --accept-license
unity-cli reference status --output json
unity-cli reference find-symbol --name Animator --kind class
unity-cli reference grep "class Animator " --context 3
unity-cli reference view Runtime/Export/Animation/Animator.bindings.cs --start-line 100 --max-lines 60
unity-cli reference diff --from 2022.3.10f1 --to 2023.2.20f1 --symbol UnityEngine.Animator
unity-cli reference resolve-symbol-at Assets/Scripts/Player.cs --line 42 --column 18
unity-cli reference embed-build --version 2023.2.20f1
unity-cli reference embed-search --query "animator state callback" --version 2023.2.20f1
unity-cli reference clean --keep 1 --dry-run

See .claude-plugin/plugins/unity-cli/skills/unity-csharp-reference/ for the companion skill and the reference -> navigate -> edit workflow.

Regenerate This Catalog

unity-cli --help
unity-cli tool list --host 127.0.0.1 --port 6400 --output json | jq -r '.[]'
unity-cli tool schema create_scene --output json