Sub-Assets: Automatic vs Explicit dependancies

Hello,

I have been doing some experimenting with Addressables/AssetBundles, specifically playing around with FBX files as they can contain many subsets (materials and meshes).

My test had an FBX files with many meshes and materials, each of these are imported into Unity as a subset of the model-prefab. I had a gameobject which referenced one of the meshes(subset) of the model prefab.

  • If I placed only the gameobject inside a group, building the bundles would be able to work out the correct dependancy and only the referenced subset would be built into the bundle. Loading that asset would result in only that asset being loaded.

  • If I placed the model-prefab into a group, every sub-asset is loaded into memory when the asset is loaded.

I understand the latter bulletpoint is a limitation of marking the entire asset as addressable.

But what’s strange to me, is that if you want to explicitly state the memory layout of your game, you’re better off… not explicitly stating which group assets with sub-assets should be in, as doing so will load the entire asset and sub-assets rather than just the one referenced?

Unity clearly has the ability to only pack a sub-asset into a group, as this is what happens when you let Unity automatically detect the references. So it should be possible(?) for the Addressable system to be able to pack only a certain sub-asset into a group, rather than the entire asset. Is this on the road map for the Addressable system already?

Thanks in advance!

I reported similar issue and Unity said it is “By Design”:

Yeah its fine for if you put the source asset into a bundle it loads everything. I would just like them to expose the ability to define which bundle sub-assets go into