首页 文章

Unity Asset Bundles向后兼容

提问于
浏览
0

我在一个项目中工作,我们使用Unity3D ...我们正在动态加载我们的资产包 . 但我们希望在我们的应用程序版本之间添加向后兼容性 .

假设我发布版本1.05.0并且用户加载了某个Asset Bundle,之后用户下载了版本1.06.0,其中包含1.05.0版本中使用的一些脚本的一些更改

我可以使1.06.0版本与1.05.0版本的同一资产包一起工作吗?或那是不可行的?!

提前致谢

1 回答

  • 3

    “某些脚本中的某些更改”非常模糊 .

    一般来说,资产包不直接包含脚本,但它们确实包含对脚本的引用(如果移动脚本可能会损坏)和属性(如果重构可能会变得复杂) . Unity Answers does have some more detailed information.

    如果您所做的只是对某些脚本的 Update() 函数的一些小调整,那么您应该没问题 .

    如果您在程序集之间重命名脚本或移动脚本,则可能会出现问题 .

    如果您创建新的序列化字段,旧的资产包将不包含这些字段,并且它们将在实例化时收到其默认值 .

    如果删除现有的序列化字段,则在实例化时将忽略它们 .

    如果您重命名或更改现有序列化字段的类型,Unity将“尝试”协调它,但我不会指望它工作 .

    如果您正在寻找一个更强大的系统,您可能最好只是附加“普通旧数据”组件来序列化您的数据,然后使用该数据在运行时重建您的资产 .

相关问题