跳到主要内容

从 GES 1.3.0 升级到 GES 2.0

GES 2.0 是一次主版本替换,受支持的迁移流程会保留所有可恢复的数据库子资产、自定义事件类型、生成桥接脚本、FlowGraph、管理器绑定,以及场景、Prefab 和 ScriptableObject 中的序列化引用,并维持它们原有的 Unity 资产身份

在 1.3 项目中导出

先提交或备份能够正常编译的 GES 1.3.0 项目,再导入随 GES 2.0 提供的独立迁移导出工具,然后打开

Tools > TinyGiants > GES > Export Event Data

.gesmigration 文件保存在 Assets 目录以外的位置;导出结果仍包含 Error 时不要卸载 1.3,Warning 会指出需要更新的源代码 API,或必须针对 2.0 重新编译的封闭 DLL

归档会逐字节保存用户数据库、自定义与生成代码、FlowGraph、Graph、引用事件的资产及其 .meta 文件,清单使用 SHA-256 保护每个文件,并记录数据库 GUID、事件 local file ID、事件内部 GUID、运行时类型、脚本身份和准确的序列化属性路径

替换产品文件

导出成功后只移除

Assets/TinyGiants/GameEventSystem
Assets/TinyGiants/GESMigration

保留 TinyGiantsData、项目场景、Prefab、脚本、asmdef,以及 GCS 或其他 TinyGiants 产品仍在使用的 SharedShared 不存放用户的自定义事件数据,Unity 通过数据库资产 GUID 和事件子资产 local file ID 维持这些引用;移除 1.3 运行时与迁移导出工具后暂时出现编译错误属于预期现象

导入完整的 GES 2.0 包并等待编译结束,然后打开

Tools > TinyGiants > GES > Game Event System

Tools & Utilities 区域的 Import Event Data 右侧点击 Open

导入器会在写入前检查归档完整性、现有路径和重复 GUID,并且不会覆盖内容不同的文件;如果恢复的脚本触发域重载,最终校验会在编译完成后自动继续

验收迁移结果

成功结果会确认每个归档文件的哈希、事件身份、运行时类型、脚本 GUID 和已记录的准确引用路径;请保留外部归档,并依次打开受影响的场景、抽查代表性 Prefab 与 ScriptableObject、运行 Play Mode、烘焙 AOT 条件,再执行项目正式发布所使用的同类 Player 构建

如果校验失败,请保留报告中的恢复文件,并在校验对话框中点击 Roll Back;回滚只会删除最近一次导入创建、且当前内容仍与归档校验和一致的文件,不会删除原有文件或导入后又被修改的文件

没有自定义事件类型的项目也要使用相同流程,因为数据库子资产、内置类型事件、管理器绑定和项目引用仍然需要身份校验;损坏的数据库、导出时缺失的自定义脚本、重复 GUID、被篡改的归档载荷,以及无法重建的封闭 DLL 都会被阻止,而不会被当作部分成功迁移