How are we supposed to set the resolution scale of VR in 2019.4 HDRP?

As per title, having trouble to support this in our SSAA asset store package, resulting in lots of angry customers :frowning:

Using the new XRManagement package as the old XR modules got deprecated in 2019.4

This does nothing in HDRP 2019.4 (at least with Mock HMD package, I don’t have any headset to test):

UnityEngine.XR.XRSettings.eyeTextureResolutionScale = ...

And (from my understanding) the new way to do it:

XRDisplaySubsystem.scaleOfAllRenderTargets = ...

Does not exist in code until 2020.1 (where it works as intended on HDRP)

Soooo, how we do this in 2019.4? (kinda ironic we can get it to work in one way or another on any 2019-2020 version but the LTS :smile:)

Hi,

Due to technical constraints, we can’t add XRDisplaySubsystem.scaleOfAllRenderTargets to 2019.4

I would propose to use the dynamic resolution system included with HDRP as a workaround.
See Redirecting to latest version of com.unity.render-pipelines.high-definition

Fabien

Thanks for the reply.

I believe we’ve looked at HDRP’s dynamic resolution in the past for VR, but it seems that it only allows to set the resolution lower or equal to native resolution. We want to achieve super-sampling, but it seems the maximum scale for the dynamic resolution system is clamped to 100%?

P.S. Also noticed it was 2019.3 when XRSettings.eyeTextureResolutionScale support was dropped from HDRP VR. 2019.2 and lower works but HDRP pre 7.x.x has other issues with VR anyways. If there is nothing else we can do about it on 2019.4 at least, I guess we will suggest our users to skip the 2019 HDRP cycle altogether for VR and just go with 2020.1 (might be a hard pill to swallow since 2019.4 is LTS)

Also, if XRDisplaySubsystem.scaleOfAllRenderTargets can’t be backported (I get that, seems to be tied to unity core), is it possible to at least make the old XRSettings.eyeTextureResolutionScale compatible with HDRP on 2019.4 again? it still works on 2019.4 with URP and built-in pipeline but not with HDRP…

Alright, I’ll look into it.
In the meantime, do you mind logging a ticket about this issue ?

1 Like

Thanks!
Will do tomorrow morning, getting late in here :smile:
Should I also include a simple repro project with it?

That would be ideal, thanks !

** @fabien-unity ** I uploaded the report - case 1265208

I narrowed it down a bit more by testing various setups in all pipelines and it seems like only HDRP seems to be affected so thats where the inconsistency with the API functionality seems to be.

HDRP 2019.4 - XRManagementSystem + XRSettings.eyeTextureResolutionScale - NOT WORKING
HDRP 2019.4 - Legacy XR Modules (deprecated)+ XRSettings.eyeTextureResolutionScale - Works as intended. Also the issue with the legacy xr on HDRP is that it gets uninstalled when setting up HDRP through the HDRP wizard (which most people seems to do) so we can’t really use this as a workaround.

Forgot to mention this in the report, tried with both HDRP 7.3.1 and 7.4.1 and got the same results

Also on other pipelines,
URP 2019.4 - XRManagementSystem + XRSettings.eyeTextureResolutionScale - Works as intended
URP 2019.4 - Legacy XR Modules (deprecated)+ XRSettings.eyeTextureResolutionScale - Works as intended

Built-in 2019.4 - XRManagementSystem + XRSettings.eyeTextureResolutionScale - Works as intended
Built-in 2019.4 - Legacy XR Modules (deprecated)+ XRSettings.eyeTextureResolutionScale - Works as intended

I hope there will be a solution for this. For now I advised some of my users on VR to use the deprecated XR legacy modules with HDRP, but for some it is impossible since they were already using some of the features and API of the new XRManagementSystem and they can’t (and shouldn’t) revert their development to get this working.

Thanks for the detailed report!

Thanks for looking into it!

If anybody else is interested in following the progress of this issue, there is the issuetracker link for it
https://issuetracker.unity3d.com/issues/xr-sdk-hdrp-xrsettings-dot-eyetextureresolutionscale-does-not-work