DLSS in Unreal Engine 5.1 and VR

No changes, it just worked. But I can maybe share my settings files when I get back to that computer.

However, I have since discovered that I don’t think DLSS is working after all. The r.ScreenPercentage command is but that just results in lower resolution. Of course you do get some better performance, but without the upscaling it obviously just looks like garbage and I might as well just use the new r.PixelDensity command. Does the upscaling work for you?

I went through and tested and the upscaling is working for me. I am able to set my screenpercentage to 50 and enable and disable DLSS and I see a big difference. And a GPU profile also shows the upscaler taking resources as well.

I found a forum where someone said to turn off SteamVR Home in the steamVR settings and that helped my project from crashing with DX12 but super inconsistently, but maybe a step in the right direction.

Hm… it feels as though it’s just bypassing enabling DLSS, but maybe I’m just not doing it right.

Do you think we maybe can share our project settings and general setup on how you enable it? Maybe we can figure something out that works and solve both our issues? None of this is ideal of course, but it sounds like we might be close to a workaround until the issue is fixed properly?

1 Like

Yeah of course, I think we are super close to finding something that works. I was able to get it to work smoothly once but so far I can’t replicate it. I’ll go through and log all the changes that I make to default project settings in a blank VR template.

Nice, thank you!
When I’m back in the office I’ll do the same!

This is why I like my job! Seeing the Community working together!

Thank you!

If you want, feel free to share here as well, I promise to pass the settings on to engineering. I just cannot promise when they might have time to check them out.

1 Like

Alright I found the reason for the inconsistency of crashes while using DX12 and the SteamVR plugin. Whenever a blueprint calls with this setup there’s a high chance of the editor freezing up, EXCEPT for when the headset is on standby not being tracked by any base stations. The inconsistency on it crashing on startup was based on where I placed by HMD on my desk as one section has view of tracking, the other is a dead zone. So with testing if I start up the game while my HMD is hidden then it will load fine and I can then unhide it and view the world correctly. Whenever I press a key to test (Ex: pressing ‘D’ on the keyboard toggles DLSS) I have to first hide the HMD then press the key and then I can put the HMD on and see the change without a freeze.

Here are the settings I’m working with:

Running in 5.1.1 with DLSS 5.1.1 plugin
Open a new VRTemplate project

Plugins Enabled:

  • SteamVR (Deprecated)
  • NVIDIA DLSS SuperResolution/DLAA

Project Settings Changes:

  • Default RHI: DirectX 11
  • Enabled DLSS/DLAA to be turned on in Editor viewports: True

Editor Preferences:

  • Override game screen percentage settings with editor settings in PIE: False

SteamVR Settings (Show “Advanced Settings”)

  • SteamVR Home: Off

Here is a screenshot of the simple level blueprint I am using to test.

Hopefully we can find a better workaround but here’s at least something for testing purposes!

So OpenXR won’t work?
I have used OpenXR and the Enhanced Input for all my VR controls.

Hi sorry for the late response I was out of town, You should use both OpenXR AND SteamVR plugins for this workaround at the moment.

Hi Marcus,

I’m having exactly the same issue as first reported by Fabian.

With the issue first reported over 4 months ago, could you perhaps give an update perhaps on the status? Is there any solution for this?

Thanks a bunch for your support!

Hello @VTY, thank you for the reminder.

But I am sorry, there is nothing further to report at this time.

Ok, that’s unfortunate - but thank you for the update.

Hi Zane,

Can you maybe elaborate your setup? On the one hand you say

reason for the inconsistency of crashes while using DX12

But then you say

  • Default RHI: DirectX 11

Also, you’re saying:

Plugins Enabled:

  • SteamVR (Deprecated)

And then

You should use both OpenXR AND SteamVR plugins

So which RHI are you using? And are you using SteamVR exclusively or together with OpenXR?

Thanks a lot for your help

I’m so sorry, that was a critical typing mistake on my end, I am using DX12 as my default RHI. And yes I am having both OpenXR and SteamVR plugins enabled in my project.

I only said SteamVR plugin enabled, as I was using the VR template which has OpenXR enabled by default.

Thank you Zane for the input.

I did find another solution that works for me for now: if you set r.ScreenPecentage before rendering starts, it works for me just fine in DX12. So just put in your PlayerController EventBeginPlay or something and you should be good to go.

In case you insist on changing the value in-game, the only solution I can see for now is to re-load the level with a different value (in the PlayerController).

That is working partially for me, the first time I do “play in VR” it loads up great when initialized that way, but the second time I will get a freeze. Unless the HMD is occluded.

I actually take that back, I was having issues with RHIT from turning off Occlusion Culling and it was freezing just like it was with DLSS. I turned it back on and things are working just like you described.

Yeah, I didn’t manage to reproduce your solution with making a change without tracking… but this works, for now.

Thanks again for the input, wouldn’t have found the solution without it!


1 Like

Hi @nvidia.developer2 and @zane.jensen

Thank you for sharing this tip, could you please elaborate on this latest workaround? I tried setting r.ScreenPercentage after EventBeginPlay in my VRPawn blueprint and still crashes.

Are you also using the steamvr plugin/disabling steamvr home? Or did I set the r.ScreenPercentage in the wrong place?

Any help would be greatly appreciated. Thanks!

So in this case, what is the VR pixel density set to? 1.0?
Setting both r.ScreenPecentage and vr.PixelDensity together seems to be unknown territory.