用途:在修改 C# 代码后编译 Unity 项目,返回错误与警告信息用于验证。命令:uloop compile [--force-recompile] [--no-wait-for-domain-reload] [--stop-on-external-scene-changes] [--timeout-seconds <seconds>]。
主要能力与参数:--force-recompile 执行完整重编译加 domain reload,几乎不需要,强制 reload 可能冻结大型项目并返回 COMPILE_RESULT_UNKNOWN;--no-wait-for-domain-reload 在 Domain Reload 完成前返回;--stop-on-external-scene-changes 若打开的 Scene 文件被外部更改,则在编译前停止而非自动重载;--timeout-seconds 设定等待超时秒数,默认 600,超过 1200 会超过 Unity 侧结果保留窗口(20 分钟)并削弱超时后恢复能力。
输出:返回 JSON,含 Success、ErrorCount、WarningCount、Message、ErrorCode(如 COMPILE_ALREADY_IN_PROGRESS、COMPILE_EDITOR_UPDATING、COMPILE_RESULT_UNKNOWN)、NextActions 等字段。可在 Play 模式、暂停点或热重载期间请求时给出 Warning。
限制:API Updater 请求改写源码时 uloop 自动拒绝,需手动修复或让用户在交互式 Unity 中确认;编译超出 shell 输出窗口时仍会在 Unity 内继续,后续命令会被拒绝直到完成,属正常单飞行为,等待重试即可。