Unity DOTS 升级,先把 System 顺序和结构变更测清
DOTS 包升级后,编译通过不代表模拟行为一致。System 分组、依赖和 EntityCommandBuffer 的回放位置一旦变化,同一帧读写顺序就可能不同。
锁定当前世界结构
列出关键 System 所属更新组、读写组件和创建条件。热路径组件保持 blittable,托管对象与资源加载留在桥接层。包版本、Unity 版本和编译选项一起记录。
行为测试覆盖结构变化
用固定初始状态运行若干 tick,比较关键组件快照。覆盖实体创建销毁、空查询、系统禁用再启用和场景切换,确认 ECB 回放后没有重复实体或遗漏清理。
灰度保留旧路径
新旧实现通过开关选择,存档格式不依赖内部组件布局。出现差异时先保存 World 状态与系统顺序,再决定是包行为变化还是代码假设失效。
升级 DOTS 最怕“帧序变了但画面暂时没看出来”。把确定性快照留住,比肉眼跑一圈场景更可靠。