About the features of AssetBundles & Addressables And customize the name for .bank files

I think there may be some correlation between the two.

I’m trying to understand the difference between building FMOD projects as .bank files versus AssetBundle files.
But it seems that the documentation doesn’t talk about the parts that go into these details.

Also, it seems unavoidable to change the name for the .bank file if the project involves hot updates.
(maybe something like: 81210606c72890a03d4a082ed7fa4994)

Is building the audio as an AssetBundle file meant to solve this situation?
As well, if I change the names of the files, will FMOD still be able to load them by the Bank name originally set in FMOD Studio?

There isn’t too much of a difference between using .bank files in StreamingAssets, and using AssetBundles, besides the ability to integrate FMOD with AssetBundles if you are using AssetBundles for other assets in your project. The main difference is the need to interact with your banks via AssetBundles, so to address one of your questions, options like directly loading banks by name aren’t accessible. That said, if you were planning to use AssetBundles, I would recommend using Addressables instead, as AssetBundles are something of a precursor to Addressables and do provide more meaningful functionality with regards to asset management and and referencing.

Thanks for pointing out the lack on info on why you might use StreamingAssets vs AssetBundles/Addressables. I’ve flagged some documentation changes around this internally.

Can you elaborate on what exactly you mean by this?

1 Like

This seems a bit hard to describe clearly, but I’ll try my best to explain.

From what I understand, some game projects upgrade game content through hot updates.
For example, if you update a level, you only need to update its AssetBundle without requiring the user to re-download all the files.
And if you make some changes to a level, you only need to replace the old AssetBundle.

However, there may be some problems with this, such as how to tell which file is the new one? (Because it’s hard to tell if it’s the same name file when downloading. This involves some game development details.)

This can be done in Unity by setting the names of AssetBundle files and comparing the names to each other - they tend to use HASH for the file names.

That’s what I’m considering - can I rename bank files in a similar way to distinguish between old and new files?
But when I rename the files, does FMOD not recognize the bank files properly? Do I need to change their names back again?

With AssetBundles, there shouldn’t be a need to change or compare names. An AssetBundle’s manifest contains versioning info, which you can use to determine which version of a given bundle to use. I would recommend reading over Unity’s Documentation on Building AssetBundles, Patching AssetBundles and the AssetBundles Scripting API Reference for more info.

1 Like