用途:在 Unity Play 模式下,于指定源文件:行处暂停执行,无需编辑代码或重新编译,并返回该行捕获的局部变量、参数与实例字段快照。适合关注输入投递、事件顺序或过渡帧保真度的场景,优于 sleep 或事后读取。
主要能力:enable-pause-point 可按命名标记(--id,对应 UloopPausePoint.Pause)或源文件+行(--file/--line)启用暂停点;支持 single-shot、continuous、trace 三种模式,--hit-when 条件捕获,--max-history、--max-preview-elements、--max-caller-frames 控制历史与预览,--method 限定行解析范围,--snapshot-timing 选择 pre-line/post-line,--persist 在域重载后自动重新武装。clear-pause-point 清除标记;enable-watch/get-watch-values/clear-watch 注册并读取 C# 表达式监视值;pause-point-status 查看状态。
使用方式:进入 PlayMode 后,若游戏自行推进,先用 control-play-mode --action Pause 暂停并布置场景,再在步骤 2 加 --resume-play。示例:uloop enable-pause-point --file Assets/Scripts/Enemy.cs --line 42 --timeout-seconds 60 --await --trigger "simulate-keyboard --action Press --key Space"。命中后先读 CapturedVariables,再在暂停状态下收集额外证据。
限制:每次编译或域重载后补丁会失效,需 --persist 重新武装;物理消息方法、其辅助函数及预绑定委托可能漏掉已存在 GameObject 的命中;--id 标记不记录 CapturedVariables;Packages/ 下脚本需用 Packages/<package-id>/... 路径形式;超时或失败时查看 Error.Details.Hint 或 ErrorCode 与 RecommendedNextAction。更多细节见 references 下各指南。