| name | uloop-launch |
| description | Launch or restart Unity Editor. Use when Unity needs to be opened or restarted. |
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
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
uloop launch
uloop launch /path/to/project
uloop launch -r
uloop launch -p Android
uloop launch --editor-version 6000.0.0f1
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