大家好!
我们将季节性促销物品(弹出窗口、横幅等)以原始AssetBundles的形式发送出去,所以我们不必每次都推送一个新的应用程序版本。问题在于,旧版本的应用程序仍然在使用那些相同的包。
某个时候有人将预设重命名并将材质移动到另一个包中。新客户端正常工作。旧客户端开始出现空值。我们从支持票中得知这一点。
之后我想到了一个东西,它只会告诉我两个包构建之间发生了什么变化之前我们就上传它们。手动做起来很绝望,一个文件夹里有二进制文件加上一些.manifest文件。
所以这就是 BundleGuard。你给它旧的构建和新的构建(一个文件夹,或者你在上一个发布之前保存的快照),它会列出:
- 删除的资产和更改的类型,旧客户端可能仍然会请求的东西
- 依赖项更改,如一个共享包现在已经不存在了,或者旧应用程序不知道它需要下载的新依赖项
- 预设,脚本解析不再有效
- 客户端实际会重新下载多少,以及哪些包被重新打包了但没有任何真正的变化
编辑器仅限,只读,它永远不会构建或接触你的项目。 Unity 2022 LTS 至 Unity 6。它不需要.manifest文件,它通过文件签名找到包并打开它们来读取内部内容,这很方便,因为我们的输出仅为包和其他东西。 唯一需要使用 manifest 文件的是依赖项检查,因为这就是依赖项列表的所在。
评论 (0)