用途:uloop launch 用于为项目启动正确版本的 Unity Editor,并在 Unity 真正可用于 CLI 操作后才退出,不是发出即忘的命令。
主要能力:支持指定项目路径、重启、仅退出、指定编辑器版本、构建目标平台以及搜索深度。若 Unity 已在运行,会聚焦已有窗口并验证工具就绪状态。
用法:uloop launch [project-path] [options]。参数包括可选的 project-path;-r/--restart 结束正在运行的 Unity 并重启;-q/--quit 仅结束项目现有 Unity 进程而不启动;--editor-version <version> 覆盖 ProjectVersion.txt 中的版本;-p/--platform <P> 指定构建目标(如 StandaloneOSX、Android、iOS);--max-depth <N> 省略项目路径时的搜索深度,默认 3,-1 为无限。
输出:可能先打印状态或进度行,最后输出 JSON,包含 Success、Ready、ServerReady、ProjectIpcReady、AlreadyRunning、Launched、Restarted、Quit、PreviousProcessId、CurrentProcessId、ProjectRoot、Message 等字段。
适用场景:仅在 Unity 未运行,或重试后仍无响应时使用。单次命令失败、取消或繁忙(如域重载后)不应启动,应重试命令;编辑器已运行时启动会将其窗口带到前台,干扰用户。
限制:若进程扫描被阻止(如沙箱 ps),普通 launch 会回退到 IPC 探测,但 --restart 和 --quit 仍会失败,因为需要进程 ID。--editor-version 只影响新进程,需配合 --restart 替换已运行的编辑器。由 dispatcher 3.0.1-beta.8 或更新版本运行时,新 Unity 进程默认忽略项目编译错误;若 dispatcher 较旧,先运行 uloop update。命令会等待 Unity 完成启动且 CLI 可连接后才返回。