关于 uloop-launch
uloop-launch 是用于按 Unity 项目所需版本启动编辑器的技能。它会等待编辑器及 CLI 就绪后再返回,并支持重启或退出。
主要功能
- 01按项目版本启动 Unity
- 02等待 CLI 就绪后返回
- 03重启或退出编辑器
- 04指定编辑器版本和构建平台
适用场景
- 01启动尚未运行的项目编辑器
- 02确认 Unity 已可接受 CLI 命令
- 03更换编辑器版本并重启项目
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hatayama/ unity-cli-loop --skill uloop-launch安装后在 Claude Code 中输入/uloop-launch确认已加载。
详细介绍
uloop launch
使用项目的正确版本启动 Unity Editor。
uloop launch 不会启动后立即返回。当 Unity 需要启动或重启时,命令会等待 Unity 实际就绪并可执行 CLI 操作后才退出。
Usage
uloop launch [project-path] [options]
Parameters
| 参数 | 类型 | 说明 |
|---|---|---|
project-path | 字符串 | 可选。仅当目标 Unity 项目不在当前目录时使用。 |
-r, --restart | 标志 | 结束正在运行的 Unity 并重启 |
-q, --quit | 标志 | 结束该项目现有的 Unity 进程,不启动新进程 |
--editor-version <version> | 字符串 | 使用此 Unity Editor 版本,而不是 ProjectVersion.txt 中指定的版本 |
-p, --platform <P> | 字符串 | 构建目标(例如 StandaloneOSX、Android、iOS) |
--max-depth <N> | 数字 | 未指定 project-path 时的搜索深度(默认值:3,-1 表示不限制) |
Output
在最终 JSON 内容前,可能会输出状态/进度信息,例如项目路径、检测到的 Unity 版本或等待就绪的消息。
最终 JSON 内容包括:
Success:命令是否已完成Ready:Unity CLI Loop 是否已就绪,可以接收命令ServerReady:Unity CLI Loop 服务是否已接受请求ProjectIpcReady:项目 IPC 路径是否已接受工具请求AlreadyRunning:是否复用了现有的 Unity 进程Launched:此命令是否启动了 Unity 进程Restarted:此命令是否结束了现有进程并启动了新进程Quit:此命令是否在未启动新进程的情况下结束了 UnityPreviousProcessId:重启或退出时结束的进程 ID(如有)CurrentProcessId:当前 Unity 进程 ID(如有)ProjectRoot:解析后的项目根目录Message:就绪状态摘要
When not to use
单次命令失败、取消或繁忙(例如,刚完成域重载后)并不是启动 Unity 的理由——请重试该命令。在 Editor 已启动时运行 launch 会将 Unity 窗口置于前台,干扰用户。仅当 Unity 未运行,或重试后仍无响应时,才使用 launch。
Notes
- 如果 Unity 已在运行,则会聚焦现有窗口并验证工具就绪状态
- 如果进程扫描受阻(例如,沙盒环境中的
ps),普通 launch 会回退到 IPC 探测;--restart和--quit仍会失败,因为它们需要进程 ID - 由 dispatcher 3.0.1-beta.8 或更高版本运行时,新 Unity 进程默认会忽略 Editor 启动期间的项目编译器错误;如果安装的是较旧版本的 dispatcher,请先运行
uloop update --editor-version仅影响新启动的 Unity 进程;若要替换已运行的 Editor,请将其与--restart一起使用- 命令会等待 Unity 完成启动且 CLI 成功连接后再返回
评论
支持 Markdown