mcpField
U
uloop-launch

uloop-launch

github.com/hatayama开发58640 次安装1 天前更新
代码仓库

关于 uloop-launch

uloop-launch 是用于按 Unity 项目所需版本启动编辑器的技能。它会等待编辑器及 CLI 就绪后再返回,并支持重启或退出。

主要功能

  1. 01按项目版本启动 Unity
  2. 02等待 CLI 就绪后返回
  3. 03重启或退出编辑器
  4. 04指定编辑器版本和构建平台

适用场景

  1. 01启动尚未运行的项目编辑器
  2. 02确认 Unity 已可接受 CLI 命令
  3. 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:此命令是否在未启动新进程的情况下结束了 Unity
  • PreviousProcessId:重启或退出时结束的进程 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