On switching to the XR Plugin Management from old XR Settings - there is no ‘Single Pass’ and only ‘Single Pass Instanced’. But ‘Single Pass Instance’ does not work with the Deferred renderer with the built in pipeline
Is the only option then to use MultiPass with Deferred, and being around 20%-30% slower than old XR Settings?
I can understand Deferred shouldn’t be used for mobile VR/AR headsets - but for a PC VR game using Deferred this change completely breaks upgrading Unity versions
Which XR plugin are you using, Oculus, WinMR, OpenXR, etc?
SteamVR and Oculus. Haven’t tried OpenXR yet
For SteamVR/OpenVR you will need to talk with Valve as it is supported by them. For the Oculus XR plugin there should be an option in the oculus settings for single pass I believe.
There being only Single Pass Instanced, and not working with Deferred, is the case for all XR plugins with the XR management system
Not sure what you mean, the Oculus plugin has a setting for the stereo rendering mode. I dont know the status of deferred rendering working on Oculus though. I know that Oculus does not recommend using deferred on their hardware.
Setting Stereo rendering mode on Oculus:
Oculus / Deferred Rendering:
Yeah like I mentioned above Multipass is then the only option for Deferred - so then switching to this new XR Plugin management results in draw performance being 30% slower than old XR settings
Sorry I misunderstood, I thought you were saying there was only one option. I dont know why built-in deferred single-pass is not working with XR. I know HDRP is supported on XR but that probably doesnt help you. I will ask around to see if there is a known issue with built-in deferred/XR/single-pass.
1 Like
I started an internal discussion before the long weekend and it looks like built-in deferred Single-Pass should be working. If it is not working the best bet is to submit a bug using Help -> Report a bug
and include a sample project and a description of what is not working. This way the graphics team can look into it.
On here: Unity - Manual: Single-pass instanced rendering and custom shaders - it mentions “Unity doesn’t support Single Pass Stereo Instancing in the Legacy Render Pipeline when using Deferred Rendering” (and again - we can’t use non-instanced anymore with this new plugin management)
I can submit a report though - what happens is the headset just shows complete white/dark
And there probably are no plans to support Single-Pass (non instanced), right?
If BuiltIn + SinglePass + Deferred is no longer possible - we didn’t get any notice of that, and it impacts any released/indev VR games massively (a 30% performance hit for upgrading). The options are to either take the massive performance hit, switch rendering path to Forward, or switch render pipelines from Built In - all terrible
The note that was added to that page about Deferred+SinglePassInstanced not working wasn’t even there November of last year https://web.archive.org/web/20201101142946/https://docs.unity3d.com/Manual/SinglePassInstancing.html
Can you please confirm with the team, which version is correct? Either the footnote in the link above, (which says single pass instanced + deferred shouldnt work) or that single pass instanced + deferred should be supported (and if it doesnt, its probably a bug)
This is what I was told internally
“We stopped supporting single-pass (double-wide) in XR SDK. We also don’t really encourage using deferred for VR. They should be using forward + single-pass instancing on PC and forward + multiview on Quest”
So current VR projects that used BuiltIn+Deferred just should not update to Unity 2019/2020? There is no possibility of this changing? We had no indication that this wouldn’t be supported in the future
1 Like
That is all the information I have at this time. You can submit a bug through Help -> Report a bug
if you want to bring more attention to the issue.
Here are a few popular Unity VR PC games that I know use Deferred + Built in
It was never not recommended - just only for mobile
Yes, it was never not recommended, but they always recommended forward, mostly due to msaa. Imo deferred with taa is better too, and would hope to use deferred.
But apoxol was only relaying what he was told.
Can you submit a bug report please, so we see what they do?
Submitted a bug report, but it got closed by them as it wasn’t considered a bug.
I guess the new version breaking VR projects using Deferred is not a bug - despite nothing actually being deprecated.
They haven’t deprecated Built In - but are not going to fix this apparently. Yet another example of their SRP switch disaster
1 Like