版本说明
列举了 xasset 功能修改和修复。
2023.1(2023.9.10)
今天,我们很高兴地宣布 2023.1 版本(3周年纪念版)的 xasset 正式可用。
接下来,我们将使用在生产环境收集的最新数据,以新功能、改进和提升以及其他这三个方面的内容,和大家展示 3 周年纪念版的 xasset 有哪些超能力。
新功能
- 增加丰富的运行模式,让编辑器环境具有更敏捷地开发测试效率。
- 增加对打包分组中的资产包(RawAsset + Asset)二次合并打包、加载和热更机制。(需要专业版)
- 增加 Android App Bundle 的资产包在编辑器调试加载热更流程的支持。这里可以确信的是,Google 没做好的东西,我们做的很 Nice。(需要专业版)
- 增加新构建工具。提供资产和资产包的依赖引用关系预览、历史构建差异数据显示、打包分组配置编辑、打包配置编辑、资产加载耗时统计等功能。(需要专业版)
- 增加搜索路径寻址机制。类似系统的环境变量,搜索路径下的文件,可以配置短路径寻址。(需要专业版)
- 增加覆盖安装时自动清理不在当前版本的历史资产包和打包分组的二次合并打包文件的功能。(需要专业版)
- 增加资产热重载机制。已经加载的资产更新后,无需业务释放引用计数回收资产,xasset 自动替换缓存中的内容为新版本的内容。业务可以监听资产重载事件处理相应刷新逻辑。
- 增加读取打包配置动态生成资产资产分组菜单工具,可以在 Unity 编辑器中快速给 Project 中的资产设置打包分组。
- 增加清单支持打包压缩机制,10000+ 资产包的清单大小可以从 3.5mb 优化到小于 800kb。
- 增加新的分包边玩边下配置结构。让打包分组具有交付模式 的属性,同时让打包分组的每个一级资产节点都可以设置打包模式,让打包分组配置具有更多的作用和灵活度。
- 增加预加载机制。在设置中配置的 Preload Assets 可以在初始化时自动预加载。之后在业务代码只需调用 Asset.Get 就能读取预加载的资产数据。
- 增加 Linux 平台支持。(需要专业版)
改进和提升
- 优化图集打包策略,强制让图集的 png 在 Optimize Dependencies 过程中和 spriteatlas 打包到一起。(需要专业版)
- 优化分组数据的更新机制,清单的分组中另存一份未被剔除的 bundles 列表,获取更新大小时,使用未剔除的 bundles 列表确保分组对应的资产都可以完整下载。
- 优化 versions.json 输出的文件名,改成文件末尾追加 timestamp 的格式命名,让打包的数据被清理后再次打包时,生成的带版本号的版本文件具有唯一性。
- 优化异步转同步加载的底层实现,特定的 Unity 版本中,异步转同步的 IO 性能可以提升 10 倍。
- 优化编辑器下的初始化流程,特定场景,初始化速度可以从 11s 优化到 0.2s,效率提升了 55 倍。
- 优化示例中首次运行时资产更新的流程,版本未发生改变时,特定场景可以节省 5s 左右的获取更新大小的耗时。
- 优化获取更新大小的速度,获取 10000+ 资产包更新大小的速度,在部分设备上从 16.76s 优化到了 3.64s,效率提升了 4.6 倍。
- 优化 AAB 包的 Asset Pack 内的文件的打包机制,特定场景的同设备相同测试路径下,加载同样的资产的 IO 耗时可以从 5000ms+ 优化到 1500ms,效率提升了 3 倍以上。
- 优化 AAB 包的真机初始化流程,初始化时,自动加载 install-time 的 Asset Pack,不再限制业务层第一个 install-time 的 Asset Pack 中的资产要用异步加载。
- 优化构建任务处理过程,让构建管线自动剔除未正常生成 bundle 的资产包数据,例如 spriteatlas、LightData、cginc 等文件。
- 优化输出目录,所有打包输出的文件的目录,全部可以在设置中配置,默认会统一输出到 Unity 工程的 Build 目录下。
- 优化场景管理机制,Additive 类型的场景加载后的回收可以更快响应。
- 统一配置入口,编辑器和运行时相关的配置都放到设置配置中管理,并且运行时的配置支持在编辑器实时修改。
- 去掉寻址模式的概念,改用搜索路径。初始化更快,常驻的 Mono 内存更小。
- 去掉资产包名字的可选配置,Bundles 目录的资产包名字统一用内容的MD5哈希值。
- 去掉 HttpWebRequest 版本的下载处理器。降低学习成本。
- 去掉加密配置,专业版默认自动加密。
其他
- 修复异步渐进式回收对象可能出现重复进度回收队列的问题。
- 修复打包分组的资产二次打包后异步转同步加载失败的问题。
- 修复 AAB 包 RawAsset 加载时文件长度未初始化的问题。
- 修复记录工具录制 RawAsset 数据编辑器异常报错的问题。
鸣谢
从发布至今,xasset 收获了以下荣誉:
- Unity 官方在线服务认可的优质合作伙伴。
- 2000+ 全球开发者的星标支持。
- 120+ 全球企业用户的信任和支持。
- 各种用户数量上百万、千万的产品的订购。
从专注ToC业务后至今 3 年来,xasset 进步很大。无疑,xasset 的成长也离不开大家,现在,我们最想说的两个字是,感谢。感谢全体新老用户的支持。非常感谢大家给 xasset 提供的机会。未来,我们会继续努力,并尝试创造更多可以共赢的新机会。
最后,希望所有人,无论面对什么局面,都可以乐观向上,积极应对。加油,加油!
2023年9月10日,xasset 创作团队,于上海。