gpt4 book ai didi

c# - Unity Asset Bundle 向后兼容性

转载 作者:行者123 更新时间:2023-11-28 20:02:25 25 4
gpt4 key购买 nike

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

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

我可以让 1.06.0 版与 1.05.0 版的相同 Assets 包一起工作吗?! 或者那是不可行的?!

提前致谢

最佳答案

“某些脚本中的一些更改”非常含糊。

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

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

如果您重命名脚本或在程序集之间移动脚本,您可能会遇到问题。

如果您创建新的序列化字段,旧的 Assets 包将不包含这些字段,它们将在实例化时收到它们的默认值。

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

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

如果您正在寻找一个更健壮的系统,您最好附加“普通旧数据”组件来序列化您的数据,然后使用该数据在运行时重建您的 Assets 。

关于c# - Unity Asset Bundle 向后兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23399391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com