Files
ft/CodexOutput/upserver/UnityCliLoop迁移核对与裁决.md

43 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Unity CLI Loop迁移核对与裁决
2026-09-21。用户要求参考D:/ft/ft/Client,确认当前项目是否可按相同方式替换UnitySkills。当前Unity处于用户提示的Reloading暂停阶段,本轮仅只读核对并落盘,不修改包清单、不触发导入、不控制Editor。
## 核对结论
可以迁移,建议复用参考项目已固定的本地包与批处理保护补丁。它只替换编辑器测试工具,不改变s101登录实现及验收范围;正式API仍为http://s101.local:18080/。
| 项目 | 参考项目 | 当前项目/本机 |
|---|---|---|
| Unity | 2022.3.62f2c1 | 相同 |
| Unity CLI Loop包 | io.github.hatayama.uloopmcp 2.2.0,本地包 | 当前manifest仍是com.besty.unity-skills,尚未安装ULoop包 |
| CLI | 文档固定2.2.0 | 实际uloop --version返回2.2.0 |
| 常驻对象 | HierarchyService明确获取DontDestroyOnLoad根对象 | 现有UnitySkills常规场景缓存未显式纳入该特殊场景 |
| 依赖 | ugui1.0.0、newtonsoft3.2.1 | 已具备;无需新增Input System |
参考来源:D:/ft/ft/docs/uloop-codex-setup.md、Client/Packages/manifest.json、本地ULoop package.json/FT_PATCHES.md及HierarchyService.cs。包固定上游v2.2.0 / 1dbd4435e872a7f33904bb024062f2abb987eb12,补丁防止BatchMode和Asset Import Worker启动服务/重载恢复钩子。
文档差异:参考setup文档提到根目录.agents/skills/ft-unity和shared-uloop适配器,但此次实际路径不存在,不照搬该脚本命令。参考Client/.codex和.cursor存在另一套uloop技能;不整批复制这些代理配置。以本机uloop CLI的--help及本地包契约为准。
## 完整方案与开发边界
1. 等待用户确认Reloading结束,先核对目标Editor状态;不强制杀进程、不清Library、不操作D盘参考实例。
2. 复制参考项目的Client/Packages/io.github.hatayama.uloopmcp包到当前同路径,保留.meta、许可证及FT_PATCHES.md;不复制Library、.uloop运行缓存、会话或权限文件。
3. 仅修改当前Client/Packages/manifest.json的工具依赖:移除com.besty.unity-skills,增加io.github.hatayama.uloopmcp本地路径,与参考项目一致。让UPM更新packages-lock.json,并检查锁文件差异只涉及工具依赖。
4. .gitignore加入/Client/.uloop/,补充当前项目CLI操作说明/迁移静态检查入口。若存在UnitySkills自启脚本先核对差异再移除;本轮Assets/Editor检索未发现相关引用。历史测试脚本及证据保留,标记停用,不删除历史日志。
5. 不复制D盘其他业务代码和完整manifest;不升级Unity、不新增Input System、不提高动态代码权限、不修改全局AI配置。编辑器相关改动不会扩大俱乐部、KV或PlayFab删除范围。
评审裁决:基于两个项目相同Unity版本、包依赖已满足、本机CLI版本匹配和本地补丁可复用,最小方案可行;开发边界限定工具包、manifest/UPM锁文件、忽略规则及操作文档。当前未实施。用户此前要求暂停Reloading期间的操作仍有效;恢复Editor操作前需解除该暂停。
## 迁移验收与后续测试
- 每条CLI命令显式--project-path C:/projects/ft/Client,避免误连D:/ft/ft/Client。实际Unity.exe位于本机C:/Program Files/Unity/Hub/Editor/2022.3.62f2c1/Editor,不照抄参考文档D盘编辑器路径。
- 先get-version、get-project-info确认当前项目、包版本及会话;再执行compile、get-logs检查导入结果,并核对批处理保护与移除旧包。
- 验证get-hierarchy能看到DontDestroyOnLoad中的UI及设置/账号入口,再做截图和控件定位。
- CLI提供simulate-mouse-ui,可用于EventSystem界面操作;真实可用性在当前项目接入后验收。simulate-keyboard/mouse-input依赖Input System,本次不为它们改变项目输入系统。
- 缺少专用操作时,动态代码先放CodexOutput、评审其读写边界,compile-only通过后再执行相同文件;不提升安全级别来绕过限制。
- 首先续测101退出再登录、101→102→101、失败重试及Cookie/SignalR隔离。当前仅确认工具能力与迁移可行性,不能保证自动解决Reloading或所有UI/真机测试。
- 工具接入后更新验证入口及交接文档;UnitySkills旧实例失联证据保留历史。每小步骤写开发日志。
## 2026-09-21 实施补充裁决
用户明确要求移植Unity CLI Loop 2.2.0,Reload卡死已定向重启并确认恢复。允许开始上述方案;为避免打开Editor时复制半成品触发多次导入,先确认非Play/非编译/场景未脏,正常关闭C盘实例,在其关闭后复制本地包、修改工具依赖和忽略规则,再打开同一项目验收。D盘项目只读作包来源。此补充不授权清理Library或回退业务改动。