Heyo,
I’m wondering what are the best compression settings for the Quest 2? Also, preferably, what would make this most practical for ongoing development?
Some Background:
In Unity-Quest/2 tutorial videos that are slightly older (2019 and 2020), I’ve seen a lot of devs default to ASTC but some have warned this dramatically increases import times and makes life kind of hell while you’re waiting forever. Instead, a tip was to use ‘Don’t Override’ under Build Settings while developing and then switch to ASTC for release.
Well this just bit me after a week of development on a particular prototype. I had loaded in a lot of environment pack assets to test and was amazed how performant they all were on the Quest 2. Just about zero issues. I was deliberately trying to find the limits for what can be done with OQ2 development (Lordy lord, don’t have more than a couple realtime lights at any given time!). My builds were 1.7 - 3.5 GB. (I later learned Oculus has a 1 GB limit for uploading APKs to their App Store). Once it hit 3.5 GB deployed onto the hardware, OQ2 started glitching out with ‘SystemUX Keeps Quitting’ errors… failing to load the Apps menu / constantly crashing it if I had my build installed. Also giving me a heart attack making it think I just bricked my Quest 2. I stopped these errors by using Oculus Developer Hub on desktop to remove the build from the OQ2 device.
My theory is the builds were just too enormous for OQ2’s OS or its 6 GB RAM to handle… ? Or maybe something got corrupted in my project, tripling build size and creating the near-catastrophic SystemUX error on OQ2. Fortunately, I made a backup that morning before this started happening so I was able to use that again and the problem didn’t resurface.
Either way, I suddenly became aware of the need to pay attention to build sizes…
So…
I decided to make ASTC mandatory for myself but converting the entire prototype project with all of those environment packs in it at this point had Unity re-importing the assets with the progress bar just hanging on about 20% for a full day (though the file paths of textures it was working on would change if you stared at it long enough, confirming it was working its way through it all), before I Forced Quit the editor and restored a project backup.
And here I am… wondering now what the heck I should do about this and which compression settings I should use that keeps development practical but also avoids potentially blowing up my Quest 2 hardware.
I found articles like this but it seems a bit outdated by now (for example LZMA isn’t available anymore and instead we have LZ4HC… ?):
And then I see posts like this saying uncompressed was actually the best? WTF?
Any advice for OQ2 development today with Unity 2020 LTS? Much appreciated!