uloop-launch ยท diff

git:20260701.da79874 to git:20260711.6daa84f

1 added, 23 removed. Audit A to A.

---
name: uloop-launch
- description: "Launch or restart Unity Editor. Use when Unity needs to be opened or restarted."
+ description: "Launch or restart Unity Editor. Use when Unity is not running or unresponsive."
---
# 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) |
-
- ## Examples
-
- ```bash
- # Search for Unity project in current directory and launch
- uloop launch
-
- # Launch specific project
- uloop launch /path/to/project
-
- # Restart Unity (kill existing and relaunch)
- uloop launch -r
-
- # Launch with build target
- uloop launch -p Android
-
- # Launch with a specific installed Editor version
- uloop launch --editor-version 6000.0.0f1
-
- # Quit running Unity without launching
- uloop launch --quit
- ```
## 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
## 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