Addressables Extremely Slow Loading On Startup

Hi there, we’ve been using Unity Addressables for a bit now, because it’s been recommended as a method to keep patch sizes small on certain hardware, and things have been going alright, but application launch times in build and in Editor have been increasing tremendously (We’re now at 1:30 minutes after a recompile or build launch).

I hope it’s a case of user error, and not the intended behaviour of the system.
Our uncompressed built application is about 600mb in size (400 mb of that are streaming assets), so even an old HDD should be able to load everything in a reasonable time, right?

We’ve split all content into 6 groups, which are loaded during a startup phase. Then we sort things into our own database, from which things can be queried during runtime. The sorting step is extremely fast, but loading each of the groups for the first time is agonizingly slow.

We have no textures with crunch compression enabled, and this behaviour occurs in Editor, too, after a script causes a recompile. It’s getting to a point where we are considering to remove the addressable system again, as iteration times have been suffering so much.

We’ve been using this guide here: https://images.response.unity3d.com/Web/Unity/{e334d0bb-f70f-4594-9c82-301b25866b12}_Unity_Addressable-Cheat-Sheet_Self-contained-PC-or-Console-Game_v2.pdf

Would love to hear if anyone here has some experience with this! And I hope there’s something I’m missing. Cheers :raised_hands:

Did you profile this, preferably in a build? Perhaps there’s some non-obvious kind of re-reloading some bundles occuring or other unnecessary extra steps.

Trying 2022.3 or Unity 6 would also be worth a shot, even just upgrading to the latest 2021.3, in order to verify the timing persists or improves/degrades depending on editor version. Also updating the Addressables package.

Hi Codesmile, thank you for the quick reply! It seems in editor a call to Prefabs.MergePrefabs
Is taking about 6 seconds when starting the playmode in editor.

You mean you load all assets into memory during startup? If that is the case that sound like the culprit. You want to only Resolve your addressables and only load them once needed.
If you need all assets in the beginning for some reason probably just making a big asset bundle is way faster

In terms of loading performance you can disable crc checks in the addressable settings
Also ideally completely disable any compression for the addressable groups for testing the performance