如果一个或多个unityEngin.Objects包含对位于另一个bundle中的unityEngin.Object的引用,则资产绑定包可能会依赖于其他资产绑定包。如果unityEngin.object包含对任何资产绑定包中不包含的unity.Engineering对象的引用,则不存在依赖关系。在这种情况下,当您构建资产绑定包时,该包所依赖的对象的副本被复制到包中。如果多个包中的多个对象包含对未分配给一个包的同一个对象的引用,那么每个对该对象具有依赖关系的包都会复制该对象并将其打包到构建的资产包中。
如果资产包包含依赖项,那么在加载要实例化的对象之前加载包含这些依赖项的包是很重要的。Unity不会尝试自动加载依赖项。
考虑下面的示例,bundle 1中的材质引用了bundle 2中的纹理:在本例中,在从bundle 1加载材质之前,您需要将包2加载到内存中。无论您加载bundle 1和bundle 2的顺序如何,重要的是在从bundle 1加载材质之前加载包2。在下一节中,我们将讨论如何使用前面一节中提到的assetbundlemanifest对象来确定和加载运行时的依赖关系。