Pipeline Documentation
com.unity.pipeline lets a client — CLI, CI, or an agent — drive a running Unity Editor (or a
development Player) over a local HTTP API by executing registered commands.
Guides
| Page | What it covers |
|---|---|
| Creating commands | The command-authoring API: [CliGroupCommand]/[CliArg], groups and names, the handler + response pattern, the MainThreadRequired flag and the runtime tag. |
| Creating authoring commands | Building content-authoring commands: the authoring root sandbox, ObjectRef in / AuthoringResult out, and undo grouping — with a worked example for a new content type. |
| Safety & mutations | Conventions shared by state-changing commands: the confirm/dry_run gate, Undo grouping via AuthoringUndoScope, and the path sandbox. |
| Connectivity | How servers bind the loopback address, the port ranges, the port/descriptor file, and the bearer-token auth workflow. |
| Runtime connection & setup | Running the server in a Player via Project Settings → Pipeline → Runtime, and how the build gating works. |
| Reloading code | Updating [MethodReload] methods in a running game: the Assembly.Load and interpreter backends, supported changes, the watcher, and how the woven dispatch works. |
| Tests architecture | Writing command tests via PipelineClient (over HTTP) and via direct command calls. |
| Analytics | The three usage events the Editor server reports, what each field means, and what is deliberately not collected. |
| Samples | Where the samples live (com.unity.pipeline.samples), how to add the package and import a sample, and what each one demonstrates. |
Command reference
Commands are organised in groups. Run one with unity command <group> <name>, and list a group's commands with unity command <group>. In a JSON request or a batch operation a command is named the same way, <group> <name>.
| Page | Commands |
|---|---|
| Batch command | Run several commands in one transactional request, with cross-operation references and atomic Undo (job batch). |
| Asset & file commands | Create / import / move / copy / rename / delete / find assets, import settings, folders, text files. |
| Scene commands | Create / open / save scenes, build-settings list, hierarchy, active scene. |
| GameObject & component commands | Create / find / transform / parent / tag / layer GameObjects; add / remove / read / set components. |
| Prefab commands | Create, instantiate, variant, apply / revert overrides, unpack, edit prefab contents. |
| Script commands | Create and attach scripts; get / set serialized fields; compile and run project entry points in memory (script run). |
| Animation commands | Create AnimationClips (+ curves), AnimatorControllers (parameters / layers / states / transitions), and Timeline assets. |
| Material & shader commands | Read / set material shader properties and keywords; list and introspect shaders. |
| Baking commands | Bake / clear lighting, NavMesh, and occlusion culling (async — poll the matching bake_status). |
| Navigation & selection commands | Read / set the Editor selection; run Unity Search queries. |
| Capture commands | Screenshot the game / scene view and capture UI Toolkit visual elements. |
| Wait commands | Wait on the server for a condition instead of polling: job wait, job wait_status, job wait_cancel. |
| Build, compilation & test commands | Build the Player, switch build target, read/write build settings, list targets/profiles, recompile scripts, and run tests (async — poll the matching status command). |
| Project settings commands | Read / change Audio, Graphics, Input, Physics, Player, Quality, Tags & Layers, and Time settings (get and set in each settings.* group, gated by confirm/dry_run). |
| Package Manager commands | List / search / add / remove / resolve UPM packages and poll operation status. |
| Editor lifecycle & observability commands | Play / stop / pause, focus, menus, screenshots, console logs, performance stats, authoring root. |
| Multiplayer Play Mode & instance commands | Drive Play Mode Scenarios (main Editor + virtual players), author scenario assets, and discover clone instances to drive each one. |
| Runtime commands | Player-side commands: status, quit, frame rate, time scale, log, console, eval, code reload. |
Command index
Every available command, grouped by area. Each entry is the command as typed on the command line, unity command <group> <name>, and links to its full reference (parameters + return type). In a JSON request, a batch operation or an MCP-style call, the command is named the same way, <group> <name>.
Asset & file commands
| Command | Description |
|---|---|
asset create |
Create a ScriptableObject / Object asset at a path. |
asset import |
Import an external file into the project. |
asset move |
Move / rename an asset (keeps its GUID). |
asset copy |
Copy an asset (fresh GUID). |
asset rename |
Rename an asset in place. |
asset delete |
Delete an asset (needs confirm). |
asset find |
Find assets by type / name / label. |
asset set_import_settings |
Set an asset's importer settings and re-import. |
asset get_import_settings |
Read an asset's importer settings. |
asset create_folder |
Create a folder under the authoring root. |
asset read_text |
Read a UTF-8 text file. |
asset write_text |
Write a UTF-8 text file, then import it. |
Scene commands
| Command | Description |
|---|---|
scene create |
Create and save a new scene. |
scene open |
Open an existing scene. |
scene save |
Save an open scene. |
editor save_all |
Save all dirty open scenes. |
scene list_open |
List open scenes and their state. |
scene set_active |
Set which open scene is active. |
scene get_hierarchy |
Return a scene's GameObject tree. |
scene add_to_build |
Add a scene to Build Settings. |
scene remove_from_build |
Remove a scene from Build Settings. |
GameObject & component commands
| Command | Description |
|---|---|
gameobject create |
Create a GameObject or primitive. |
gameobject create_many |
Batch-create GameObjects / primitives. |
gameobject find |
Find GameObjects by name / tag / component / path. |
gameobject set_transform |
Set local position / rotation / scale. |
gameobject set_parent |
Reparent a GameObject (or detach to root). |
gameobject set_active |
Set a GameObject's active state. |
gameobject set_tag |
Set a GameObject's tag. |
gameobject set_layer |
Set a GameObject's layer. |
gameobject rename |
Rename a GameObject. |
gameobject delete |
Delete a GameObject (undoable). |
component add |
Add a component by type name. |
component remove |
Remove a component. |
component get_properties |
Read a component's serialized properties. |
component set_properties |
Set a component's serialized properties. |
Prefab commands
| Command | Description |
|---|---|
prefab create |
Save a GameObject as a prefab. |
prefab instantiate |
Instantiate a prefab into a scene. |
prefab create_variant |
Create a prefab variant. |
prefab apply_overrides |
Apply instance overrides to the source. |
prefab revert_overrides |
Revert instance overrides. |
prefab unpack |
Unpack a prefab instance. |
prefab save_contents |
Edit a prefab in an isolated stage and save. |
Script commands
| Command | Description |
|---|---|
script create |
Create a C# script from a template. |
script attach |
Attach a MonoBehaviour by type / asset. |
component set_field |
Set a serialized field on a component / asset. |
component get_fields |
Read serialized fields. |
script run |
Compile a project .cs file in memory (no domain reload) and run a named static entry point — the builder-pattern path for bulk construction. |
Animation commands
| Command | Description |
|---|---|
animation.clip create |
Create an empty .anim AnimationClip. |
animation.clip set_curve |
Add / replace a float curve on a clip. |
animation.clip get |
Read a clip's curves and metadata. |
animation.clip remove_curve |
Remove a curve binding (needs confirm). |
animation.animator create_controller |
Create an .controller AnimatorController. |
animation.animator add_parameter |
Add a parameter to a controller. |
animation.animator add_layer |
Add a layer to a controller. |
animation.animator add_state |
Add a state to a layer. |
animation.animator add_transition |
Add a transition between states. |
animation.animator get_controller |
Read a controller's full structure. |
animation.timeline create |
Create a .playable Timeline asset. |
animation.timeline add_track |
Add a track to a Timeline. |
animation.timeline add_clip |
Add a clip to a Timeline track. |
animation.timeline get |
Read a Timeline's structure. |
Material & shader commands
| Command | Description |
|---|---|
material get_properties |
Read a material's shader and properties. |
material set_properties |
Set material shader properties / keywords. |
material list_shaders |
Discover available shaders. |
material get_shader_properties |
Introspect a shader's property list. |
Baking commands
| Command | Description |
|---|---|
lighting bake |
Async lightmap bake (poll lighting bake_status). |
lighting bake_status |
Status of the last lighting bake. |
lighting cancel_bake |
Cancel an in-progress lighting bake. |
lighting clear_bake |
Clear baked lightmaps (needs confirm). |
lighting get_settings |
Read the active LightingSettings. |
lighting set_settings |
Apply a subset of lighting settings. |
navmesh bake |
Async legacy NavMesh bake (poll navmesh bake_status). |
navmesh bake_status |
Status of the last NavMesh bake. |
navmesh cancel_bake |
Cancel an in-progress NavMesh bake. |
navmesh clear_bake |
Clear the baked NavMesh (needs confirm). |
navmesh get_settings |
Read legacy NavMesh bake settings. |
navmesh set_settings |
Apply a subset of NavMesh settings. |
navmesh bake_surfaces |
Bake NavMeshSurface components (AI Navigation). |
occlusion bake |
Async occlusion bake (poll occlusion bake_status). |
occlusion bake_status |
Status of the last occlusion bake. |
occlusion cancel_bake |
Cancel an in-progress occlusion bake. |
occlusion clear_bake |
Clear baked occlusion data (needs confirm). |
Navigation & selection commands
| Command | Description |
|---|---|
gameobject get_selection |
Read the current Editor selection. |
gameobject set_selection |
Set the Editor selection. |
editor search |
Run a Unity Search query. |
Capture commands
| Command | Description |
|---|---|
capture game_view |
Capture the game view to a PNG (base64). |
capture scene_view |
Render the Scene View to a PNG (base64). |
capture editor_element |
Capture a UI Toolkit element from an EditorWindow (6000.7+). |
capture runtime_element |
Capture a UI Toolkit element from a runtime panel (6000.7+). |
Build, compilation & test commands
| Command | Description |
|---|---|
build run |
Async Player build (poll build status). |
build status |
Status / report of the current build. |
build.target switch |
Switch the active build target (needs confirm). |
build.target switch_status |
Status of the last target switch. |
build.target list |
List known build targets. |
build get_settings |
Read build configuration. |
build set_settings |
Set build configuration fields. |
build list_profiles |
List Build Profile assets (Unity 6). |
build list_platforms |
List platforms a Build Profile can target (Unity 6). |
build create_profile |
Create a Build Profile asset for a platform (Unity 6). |
build set_profile |
Edit a Build Profile's scene list and scripting defines (Unity 6). |
script recompile |
Force a script recompile (poll script recompile_status). |
script recompile_status |
Status of the last recompile. |
test list |
List available tests without running. |
test run |
Run Unity tests with filters. |
test status |
Status of async test execution. |
test cancel |
Cancel running tests. |
Project settings commands
| Command | Description |
|---|---|
settings.audio get |
Read Audio settings. |
settings.audio set |
Change Audio settings (needs confirm). |
settings.graphics get |
Read Graphics settings. |
settings.graphics set |
Set the default render pipeline (needs confirm). |
settings.input get |
Read legacy Input Manager axes. |
settings.input set |
Tune a legacy input axis (needs confirm). |
settings.physics get |
Read Physics settings. |
settings.physics set |
Change Physics settings (needs confirm). |
settings.player get |
Read PlayerSettings. |
settings.player set |
Change PlayerSettings (needs confirm). |
settings.quality get |
Read QualitySettings. |
settings.quality set |
Change QualitySettings (needs confirm). |
settings.runtime_pipeline get |
Read Pipeline Runtime settings (enableInDevelopmentBuilds, enableInReleaseBuilds, port, enableAuditLogging, autoStart, maxWorkItemsPerFrame). |
settings.runtime_pipeline set |
Change Pipeline Runtime settings. |
settings.tags_layers get |
Read tags and layers. |
settings.tags_layers set |
Add / remove tags, name layers (needs confirm). |
settings.time get |
Read Time settings. |
settings.time set |
Change Time settings (needs confirm). |
Package Manager commands
| Command | Description |
|---|---|
package list |
List packages by scope. |
package search |
Search the registry. |
package add |
Add a UPM package (needs confirm). |
package remove |
Remove a UPM package (needs confirm). |
package resolve |
Resolve / refresh packages. |
package status |
Status of the last package operation. |
Editor lifecycle & observability commands
| Command | Description |
|---|---|
editor.playmode start |
Enter play mode. |
editor.playmode set_run_in_background |
Override the project's Run In Background Player Setting. |
editor.playmode stop |
Exit play mode. |
editor.playmode pause |
Toggle play mode pause. |
editor status |
Detailed Editor status. |
editor focus |
Bring the Editor to the foreground. |
editor invoke_menu |
Execute (or list) Editor menu items. |
capture screenshot |
Capture Scene / Game view to a PNG file. |
editor set_auto_tick |
Keep the editor ticking while unfocused. |
diagnostics get_performance |
Read render / memory / frame stats. |
diagnostics run_audit |
Run a Project Auditor scan, producing a CSV of issues. |
diagnostics audit_status |
Poll the audit scan; returns the CSV path + issue count. |
diagnostics report_evals |
Ranked report of local eval-usage telemetry + command-coverage suggestions. |
authoring get_root |
Get the authoring-root folder. |
authoring set_root |
Set the authoring-root folder. |
Multiplayer Play Mode & instance commands
| Command | Description |
|---|---|
editor.playmode list_scenarios |
List Play Mode Scenario assets. |
editor.playmode list_players |
List the players a scenario declares. |
editor.playmode set_active_scenario |
Set the active scenario (Idle only). |
editor.playmode start_scenario |
Start the active scenario. |
editor.playmode stop_scenario |
Stop the running scenario. |
editor.playmode get_scenario_status |
Live scenario state + each player's run state and address. |
editor.playmode create_scenario |
Create a scenario asset. |
editor.playmode add_player |
Add a clone / local player to a scenario. |
editor.playmode remove_player |
Remove a scenario player by id. |
editor.playmode list_instances |
List running Editor instances (this Editor + its clones). |
Runtime commands
| Command | Description |
|---|---|
runtime status |
Runtime application status. |
runtime quit |
Quit the application. |
runtime set_target_frame_rate |
Set the target frame rate. |
runtime set_time_scale |
Set the time scale. |
runtime simulate_key |
Simulate a keyboard event (Input System). |
runtime simulate_pointer |
Simulate a pointer event (Input System). |
console write |
Write a message to the Unity console. |
console get |
Read captured console output. |
console status |
Console counters and compile-failure flag, without the entries. |
console clear |
Clear the console / log buffer. |
script eval |
Evaluate C# via Roslyn. |
script eval_file |
Evaluate C# from a .cs file. |
script.methodreload reload |
Apply [MethodReload] edits from a file. |
script.methodreload reload_editor |
Same, on the IlInterpreter backend (IL2CPP-safe). |
script.methodreload reload_player |
Compile in the Editor and push [MethodReload] edits to connected players (IL2CPP-safe). |
script.methodreload status |
Method reload registry status. |
script.methodreload generate_link_xml |
Generate the method-reload link.xml for IL2CPP device builds. |
script.methodreload cleanup |
Clear old method reload DLLs / registry. |
Batch command
| Command | Description |
|---|---|
job batch |
Run multiple registered commands in one transactional request. |
Wait commands
| Command | Description |
|---|---|
job wait |
Wait until a member condition holds, then optionally act in the same frame. |
job wait_status |
Get the status/result of an async wait (job wait with async=true). |
job wait_cancel |
Cancel an async wait. |