When creating a new project, there’s a VR template that uses the standard pipeline.
Because I want to use URP I used the 3D URP Core template and then added the xr related plugins and set up the settings to run on quest 2 but even with an empty scene with nothing but a plan I can’t get to even 60FPS.
I tried changing a lot of graphics settings to increase performance including deleting post processing volume, changing to multiview, but didn’t succeed yet to get to 70 or even 60FPS yet.
I am sure I can find the settings causing this lag, but if we can have an optimized core VR template for URP, it would help reduce time to start creating a lot.
VR template does sound like a good idea. There’s VR samples for HDRP and URP, but no templates yet. I imagine in a world where Unity’s upper management doesn’t constantly fire people, that there would be a staff member available to repurpose to do that.
There’s a ton of default settings that will wreck performance on quest 2. Some things to watch out for:
don’t bother using any URP shader. they’re all too slow. make your own, from scratch. it’s seriously the only way.
don’t use shadows, just give up on this front, accept it.
if you bake shadows, accept that you can only have very simple shaders and work around it. You should not be sampling more than 4 textures per material, max. baking lighting = 2 of those textures already used up (lightmap + shadowmap).
turn off all post processing. by default, having any at all will disable foveated rendering, which will immediately destroy performance even on empty scenes.
ensure render scale = 1.0. do not touch this at runtime. this will destroy foveated rendering otherwise
do not use clip()/discard in any shader, it will destroy the low res z rejection stuff on quest hardware (a big optimization if you can keep this working)
do not use transparency, period. if you absolutely need it, ensure it’s 1 object that never overlaps another transparent object, and ensure it’s unlit.
ensure all your shaders are SRP batching compliant.