Launch or restart Unity Editor. Use only when Unity is not running or stays frozen after retries — not as a health check after a failed command; it brings the Unity window to the foreground as a side effect.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add hatayama/unity-cli-loop --skill uloop-launch --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Uloop Launch?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hatayama-uloop-launch)More formats (shields.io, HTML) on the badges page.
---
name: uloop-launch
description: "Launch or restart Unity Editor. Use only when Unity is not running or stays frozen after retries — not as a health check after a failed command; it brings the Unity window to the foreground as a side effect."
---
# uloop launch
Launch Unity Editor with the correct version for a project.
`uloop launch` is not fire-and-forget. When Unity needs to start or restart, the command waits
until Unity is actually ready for CLI operations before it exits.
## Usage
```bash
uloop launch [project-path] [options]
```
## Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| `project-path` | string | Optional. Use only when the target Unity project is not in the current directory. |
| `-r, --restart` | flag | Kill running Unity and restart |
| `-q, --quit` | flag | Kill an existing Unity process for the project without launching |
| `--editor-version <version>` | string | Use this Unity Editor version instead of ProjectVersion.txt |
| `-p, --platform <P>` | string | Build target (e.g., StandaloneOSX, Android, iOS) |
| `--max-depth <N>` | number | Search depth when project-path is omitted (default: 3, -1 for unlimited) |
## Output
May print status/progress lines before the final JSON payload, such as project path, detected Unity version, or readiness wait messages.
The final JSON payload includes:
- `Success`: whether the command completed
- `Ready`: whether Unity CLI Loop is ready for commands
- `ServerReady`: whether the Unity CLI Loop server accepted requests
- `ProjectIpcReady`: whether the project IPC path accepted tool requests
- `AlreadyRunning`: whether an existing Unity process was reused
- `Launched`: whether this command launched a Unity process
- `Restarted`: whether this command stopped an existing process and launched a new one
- `Quit`: whether this command stopped Unity without launching a new process
- `PreviousProcessId`: process ID stopped by restart or quit, when available
- `CurrentProcessId`: current Unity process ID, when available
- `ProjectRoot`: resolved project root
- `Message`: readiness summary
## When not to use
A single failed, cancelled, or busy command (e.g. right after a domain reload) is not a reason
to launch — retry the command instead. Running launch while the Editor is up brings the Unity
window to the foreground, which disrupts the user. Reach for launch only when Unity is not
running, or still does not respond after retries.
## Notes
- If Unity is already running, focuses the existing window and verifies tool readiness
- If process scan is blocked (e.g. sandboxed `ps`), plain launch falls back to IPC probing; `--restart` and `--quit` still fail because they need the process id
- New Unity processes ignore project compiler errors during Editor startup by default when run by dispatcher 3.0.1-beta.8 or newer; run `uloop update` first if an older dispatcher is installed
- `--editor-version` only affects new Unity processes; use it with `--restart` to replace an already-running Editor
- The command waits until Unity finishes startup and the CLI can connect before returning
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!