I bet it has many caveats and since XR dev in Unity is somewhat of a brain scrambler I was wondering what the verdict was, before I start sinking time in this.
On the other side it gives suggestions, like disabling jobs, which decreases performance.
Recommending ETC2 over ASTC, while ASTC looks better and has been recommended by meta in the quickstart guide for years.
And it doesn’t disable OpenXR (which I use for PC) but fully removes the package, sometimes breaking my code
The more detailed something is, the more it can break projects as well
ASTC is objectively superior in terms of flexibility and quality per bit, but there is some logic to this. According to Qualcomm’s online developer guide for Adreno, ETC formats remain compressed in L1 cache where ASTC formats are decompressed between L2 and L1 meaning they use a lot more of the very precious fastest cache level. This may improve (or has already improved?) on newer devices, but ASTC is a fairly complex compression scheme so it may be a challenge.
Whether this matters depends a lot on your specific scene, but texture bandwidth is very often a limiting factor on Quest. It’s not a bad guideline to stick with ETC unless you really need the visual improvement ASTC gives you.
Thanks for weeding through the Adreno doc, I never built for a device that was this sensitive to keeping things in cache and texture size and compression scheme have unexpectedly huge impact.
I’m quite tempted to bake lightmap to vertex like in the olden times…