Unity Editor control. Use when users want to enter play mode, select objects, undo/redo, or execute menu commands. Triggers: play, stop, pause, select, undo, redo, menu, editor, Unity编辑器, Unity播放, Unity撤销, Unity选择.
Control the Unity Editor itself - enter play mode, manage selection, undo/redo, and execute menu items.
Mode: Semi-Auto (available by default)
DO NOT (common hallucinations):
editor_run does not exist → use editor_play to enter play modeeditor_compile / editor_recompile do not exist → use debug_force_recompileeditor_save does not exist → use editor_execute_menu with menuPath "File/Save"editor_execute_menu requires exact menu path — typos cause silent failureRouting:
debug module's debug_check_compilationdebug module's debug_get_errorsscene_saveeditor_execute_menu| Skill | Description |
|---|---|
editor_play | Enter play mode |
editor_stop | Exit play mode |
editor_pause | Toggle pause |
editor_select | Select GameObject |
editor_get_selection | Get selected objects |
editor_get_context | Get full editor context (selection, assets, scene) |
editor_undo | Undo last action |
editor_redo | Redo last action |
editor_get_state | Get editor state |
editor_execute_menu | Execute menu item |
editor_get_tags | Get all tags |
editor_get_layers | Get all layers |
console_set_pause_on_error | Pause play mode on error (console module) |
Enter play mode.
Exit play mode.
Toggle pause state.
Select a GameObject.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No* | Object name |
instanceId | int | No* | Instance ID |
path | string | No* | Object path |
instanceId | int | No* | Instance ID |
*One identifier required
Get currently selected objects.
Returns: {success, count, objects: [{name, instanceId}]}
Get full editor context including selection, assets, and scene info.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
includeComponents | bool | No | false | Include component list |
includeChildren | bool | No | false | Include children info |
Returns:
selectedGameObjects: Objects in Hierarchy (instanceId, path, tag, layer)selectedAssets: Assets in Project window (GUID, path, type, isFolder)activeScene: Current scene info (name, path, isDirty)focusedWindow: Name of focused editor windowisPlaying, isCompiling: Editor stateUndo the last action.
Redo the last undone action.
Get current editor state.
Returns: {success, isPlaying, isPaused, isCompiling, platform}
Execute a menu command.
| Parameter | Type | Required | Description |
|---|---|---|---|
menuPath | string | Yes | Menu item path |
Common Menu Paths:
| Menu Path | Action |
|---|---|
File/Save | Save current scene |
File/Build Settings... | Open build settings |
Edit/Play | Toggle play mode |
GameObject/Create Empty | Create empty object |
Window/General/Console | Open console |
Assets/Refresh | Refresh assets |
Get all available tags.
Returns: {success, tags: [string]}
Get all available layers.
Returns: {success, layers: [{index, name}]}
Pause-on-error is provided by the console module, not the editor module.
Use console_set_pause_on_error from console/SKILL.md.
import unity_skills
# Check editor state before operations
state = unity_skills.call_skill("editor_get_state")
if state['isCompiling']:
print("Wait for compilation to finish")
# Get full context (useful for understanding current state)
context = unity_skills.call_skill("editor_get_context", includeComponents=True)
for obj in context['selectedGameObjects']:
print(f"Selected: {obj['name']} (ID: {obj['instanceId']})")
# Select and operate on object
unity_skills.call_skill("editor_select", name="Player")
selection = unity_skills.call_skill("editor_get_selection")
# Safe experimentation with undo
unity_skills.call_skill("gameobject_delete", name="TestObject")
unity_skills.call_skill("editor_undo") # Restore if needed
# Execute menu command
unity_skills.call_skill("editor_execute_menu", menuPath="File/Save")
editor_get_context to get instanceId for batch operationsExact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.