Search code examples
unity-game-enginebuildparallel-processingdistributeaddressables

Unity distributed build


In unity, build AB is time-consuming by using Addressables, even Cache Server (Accelerator) is used.

Is there any way to make distributed or parallel builds? For example, building with other machines in LAN network at the same time, or multi threaded build, it seems that is difficult to merge them (catalog.json, link.xml, catalog_0.1.hash, etc) after building.


Solution

  • Don't think so, actually. Or at least, I didn't hear about any option to make build steps in parallel using Unity3d.

    The last time I worked with Unity's asset bundles, we used our custom solution instead of Addressables and it took about 30 minutes per platform to build asset bundles from ~6GB of assets (about 100 characters with 3d models, avatars, vfxs for their skills, art for different locations, etc.)

    We used CI for this (we used Jenkins, but it can be any other solution) and actually, there was no problem as it was always a task for some other machine and it didn't block the work for anyone.

    If your build time is too long with less size of assets, I can only suggest checking build logs. Perhaps, you can find some bottleneck there (in our case once it was a custom automatic textures resizing before the build, that took about 50% of the whole build process).