136 lines
3.8 KiB
Markdown
136 lines
3.8 KiB
Markdown
---
|
|
name: editor-application-set-state
|
|
description: Start / stop / pause the Unity Editor 'playmode'. Use 'editor-application-get-state' to inspect the current state first. Throws if the project currently has compilation errors.
|
|
---
|
|
|
|
# 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"
|
|
]
|
|
}
|
|
```
|
|
|