juniordiscart / com.unity.addressables

Addressables extended with the ability to build multiple catalogs, ideal for traditional DLC purposes.
https://docs.unity3d.com/Packages/com.unity.addressables@1.17/manual/index.html
Other
77 stars 23 forks source link

Incredibly long Addressable building times (5 hours and counting) #14

Open LostTrainDude opened 1 month ago

LostTrainDude commented 1 month ago

[Unity 2021.3.42f1]

Hi! First of all thanks a lot for the effort you have put into this!

After following the tutorial, I'm attempting a multi-catalog build for the very first time.

I started using Addressables very early in the production of our game, as we are packing all the scenes in different Addressables separated by game areas. Additionally, our game gives players the ability to customize the main character and, for that, we are also considering a DLC just for additional outfits.

I think I have followed every step of the tutorial to separate all of the Addressables of the main game (i.e. the "zones" and the already available outfit packs) from the outfit pack that we want to deliver via DLC. In other words only external catalog currently has only one Addressable.

I have launched the new Default Build Script - Multi Catalog and it has been going for just a little more than 5 hours as I'm writing this. Is this expected behaviour? If so, should I expect this every time I also update the Addressables, rather than building them from scratch again?

With the original Addressables package, updating \ building my Addressables would take about 20-30 minutes.

Not sure it's useful information, but the size of my Addressables as a whole goes for around 3gb, the specific one I'm trying to separate as DLC is about 100mb.

One thing I didn't do, and I wonder if it's part of the reason why it's taking so long, is to clear the Addressables cache before building.

In the meantime, thanks a lot again!

juniordiscart commented 1 month ago

Hi

Most likely you're running into this issue: https://discussions.unity.com/t/building-addressables-with-cached-elements-using-scriptablebuildpipeline-1-21-21-extremely-slow/932574/49

It's an issue present in the Scriptable Build Pipeline package which the Addressables package depends upon. I'm not sure whether this has been fixed yet in SBP, and whether Addressables has already updated to a SBP version that fixes the issue. In the project I'm using this fork of Addressables, our packages are > 15GB, and we never clear our caches. Our subsequent build times are usually ±20mins per platform when there was some kind of asset change that needs Addressables to rework through the data. So I don't think it's related to that specifically. Most likely why we're not hit with this issue is probably due to some circumstances of settings or a sweet spot of a setup we use that doesn't trigger this behaviour.

I haven't found the time to keep this package up to date with the newer Addressables versions due to the many merge conflicts I have to process with each update and perform tests afterwards.

LostTrainDude commented 1 month ago

Thank you so much for the answer! Yeah, it's only understandable that you are not keeping up with all of the updates. Still, thank you, regardless.

I did scour the thread a bit and I managed to somewhat make it work by:

Now I'm seemingly able to place and remove the DLC Addressable and its catalog from the Addressables folder as I intended.

As the building process ends it would still me odd errors, claiming that the build failed at 0:00:0 seconds, but it doesn't really look like that to me. So I'm hoping for it to be a false positive.

So fingers crossed, and thanks a lot again!

EDIT: This issue I'm getting is related to the Editor and it's somewhat a known issue, so it shouldn't really interfere much with the actual process.

juniordiscart commented 1 month ago

@LostTrainDude

I updated the package to both the latest 1.x.x and 2.x.x versions available. From what I can see, the long build times should've been fixed in the SBP package that is tracked by both the 1. and 2. versions of Addressables.

Hope this resolves your issues!