Progress bar while sync operations are being calculated

Hello guys, im working with a single scene, and i wanted to make a progress bar when the game is loading. This is, while all the resources are being read, all the collections filled, the savefile is being read and parsed, the map generated…

So while all this is happening i run a coroutine where I’m faking a progress bar adding +0.1 to the progress every 0.2 seconds…
Starts well but when the game loading gets to certain point ( i guess when the operations are heavier or more cpu consuming) the bar gets frozen and the coroutine doesnt seem to respond anymore.

I’m guessing is because all this loading operations are synchronous? If so, is my only option to change them to async? maybe running all of them inside a coroutine? that would mean to change a lot of scripts.

Any help is highly appreciated.
Thanks in advance.
Pistoleta.

Well yeah if loading is synchronized nothing gets executed until that is done. So waiting .2 seconds wont help.

3 seconds freeze for loading then wait .2s then load another heavy asset for 3 seconds… synchronized is synchronized.

what you see in old games is that the loading bar jumps from point to point. That’s an indication of synchronized loading.

if you use addressable assets for instance you can load in from an address asynchronously.

I will set different key points while im loading to at least make it move even if its not smooth.
The problem are not the assets, the problem is me generating and populating the map.
Anyway thanks a lot!