---
name: Editor Application Set State
slug: editor-application-set-state
category: Automation
description: Editor Application Set State starts, stops, or pauses Unity Editor play mode. Use it to control the editor state after checking the current state with editor-application-get-state and when there are no compilation errors.
github: "https://github.com/IvanMurzak/Unity-MCP/tree/main/Unity-MCP-Plugin/.claude/skills/editor-application-set-state"
language: "C#"
stars: 3898
forks: 355
install: "npx degit https://github.com/IvanMurzak/Unity-MCP/tree/main/Unity-MCP-Plugin/.claude/skills/editor-application-set-state ~/.claude/skills/editor-application-set-state"
installs_to: ~/.claude/skills/editor-application-set-state
source_path: Unity-MCP-Plugin/.claude/skills/editor-application-set-state/SKILL.md
collection_size: 25
category_size: 1523
collection_url: "https://dirskills.com/collections/IvanMurzak/Unity-MCP"
added: 2026-08-16T07:01:53.350Z
last_synced: 2026-08-16T07:01:53.350Z
canonical_url: "https://dirskills.com/skills/editor-application-set-state"
---

# Editor Application Set State

Editor Application Set State starts, stops, or pauses Unity Editor play mode. Use it to control the editor state after checking the current state with editor-application-get-state and when there are no compilation errors.

**Install:**

```bash
npx degit https://github.com/IvanMurzak/Unity-MCP/tree/main/Unity-MCP-Plugin/.claude/skills/editor-application-set-state ~/.claude/skills/editor-application-set-state
```

## README

# Editor / Application / Set State

Control the Unity Editor application state. You can start, stop, or pause the 'playmode'. Use 'editor-application-get-state' tool to get the current state first.

## Inputs

- `isPlaying` (default `false`) — sets `EditorApplication.isPlaying`.
- `isPaused` (default `false`) — sets `EditorApplication.isPaused`.

## Behavior

Refuses any state change while `EditorUtility.scriptCompilationFailed` is true — instead throws with the compilation error details so the caller can fix them first. On success returns the post-change `EditorStatsData` snapshot.

## How to Call

```bash
unity-mcp-cli run-tool editor-application-set-state --input '{
  "isPlaying": false,
  "isPaused": false
}'
```

> For complex input (multi-line strings, code), save the JSON to a file and use:
> ```bash
> unity-mcp-cli run-tool editor-application-set-state --input-file args.json
> ```
>
> Or pipe via stdin (recommended):
> ```bash
> unity-mcp-cli run-tool editor-application-set-state --input-file - <<'EOF'
> {"param": "value"}
> EOF
> ```


### Troubleshooting

If `unity-mcp-cli` is not found, either install it globally (`npm install -g unity-mcp-cli`) or use `npx unity-mcp-cli` instead.
Read the /unity-initial-setup skill for detailed installation instructions.

## Input

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `isPlaying` | `boolean` | No | If true, the 'playmode' will be started. If false, the 'playmode' will be stopped. |
| `isPaused` | `boolean` | No | If true, the 'playmode' will be paused. If false, the 'playmode' will be resumed. |

### Input JSON Schema

```json
{
  "type": "object",
  "properties": {
    "isPlaying": {
      "type": "boolean"
    },
    "isPaused": {
      "type": "boolean"
    }
  }
}
```

## Output

### Output JSON Schema

```json
{
  "type": "object",
  "properties": {
    "result": {
      "$ref": "#/$defs/AIGD.EditorStatsData",
      "description": "Available information about 'UnityEditor.EditorApplication'."
    }
  },
  "$defs": {
    "AIGD.EditorStatsData": {
      "type": "object",
      "properties": {
        "IsPlaying": {
          "type": "boolean",
          "description": "Whether the Editor is in Play mode."
        },
        "IsPaused": {
          "type": "boolean",
          "description": "Whether the Editor is paused."
        },
        "IsCompiling": {
          "type": "boolean",
          "description": "Is editor currently compiling scripts? (Read Only)"
        },
        "IsPlayingOrWillChangePlaymode": {
          "type": "boolean",
          "description": "Editor application state which is true only when the Editor is currently in or about to enter Play mode. (Read Only)"
        },
        "IsUpdating": {
          "type": "boolean",
          "description": "True if the Editor is currently refreshing the AssetDatabase. (Read Only)"
        },
        "ApplicationContentsPath": {
          "type": "string",
          "description": "Path to the Unity editor contents folder. (Read Only)"
        },
        "ApplicationPath": {
          "type": "string",
          "description": "Gets the path to the Unity Editor application. (Read Only)"
        },
        "TimeSinceStartup": {
          "type": "number",
          "description": "The time since the editor was started. (Read Only)"
        }
      },
      "required": [
        "IsPlaying",
        "IsPaused",
        "IsCompiling",
        "IsPlayingOrWillChangePlaymode",
        "IsUpdating",
        "TimeSinceStartup"
      ],
      "description": "Available information about 'UnityEditor.EditorApplication'."
    }
  },
  "required": [
    "result"
  ]
}
```
