Hey everyone,
Has anyone noticed any degradation of the web build startup times over 2022 LTS?
We recently updated our project to Unity 6 and notice longer startup times.
By startup, I mean the time between the disappearance of the progress bar to the moment the first scene loads.
The delay happens (in web console) between the
New input system (experimental) initialized
and
UnloadTime: 0.000000 ms.
The application looks frozen during this time.
Our project is code-heavy and this delay can be as long as 3 seconds. It was practically 0 with 2022 LTS.
Any clues where to dig as this does not seem to be a user-code issue as this happens before any of my code is executed?
I found my recent build tests to load very fast (1,5s) but don‘t have any comparison.
You should check the Project Settings for any performance related settings. You will find good Unity web optimization tips on webgame sites like Crazy Games.
Most notably you can now enable WebAssembly 2023. Otoh with this enabled you can no longer fully disable exceptions (probably for the better). You may also want to compare the preloaded assets entry, in my case it had Input system assets in there which may be added automatically, and perhaps too many of them (just guessing).
For reference, my current web player settings:
These are pretty optimized (except exceptions since I’m tracking issues right now) but no settings fit all projects, particularly for the web.
Oh and make sure you use the latest patch release 20f1.
Another note: be sure to stopwatch repeated loads. Initial loads will always be slower due to empty caches.
Lastly, it matters how you make that build. It should be a Release or Master build and under Build Settings be sure to use “Runtime Speed with LTO” as the build option - Master + LTO takes significantly longer to build though, at least in my case, but should be the fastest all around.
Thank you for the notes, the problem is that nothing was changed in the project except for Unity update.
I have checked my settings and everything is almost the same except for LTO, I can’t use it due to a unity bug. I have exceptions set to managed code only.
I have a direct comparison of the same code base on LTS and 6 and 6 starts noticeably slower. The LTS goes from loading to 1st scene almost instantly, while 6 takes almost 3 seconds in some cases. I can’t use stopwatch because this happens before any of my code actually gets executed.
I cant say I found it noticably slower, in fact if anything i thought it was slightly faster…