VR Preview broken in UE5 Preview 1?

I have an Index running on Steam VR and I just created a new UE5 project: the VR template. Once the project is is set up, shaders compiled, etc, the VR Preview option is disabled. I haven’t changed any project settings from their defaults (which means it’s set to the forward renderer, instanced stereo rendering, etc.)

I checked the plugins and all the OpenXR plugins are enabled, SteamVR is set to be my OpenXR runtime, and Steam VR was running when I launched UE5. My HMD is functioning when I look through it.

UE 4.27 (and previous engine versions) don’t have this issue.

Is there something I’m doing wrong, or is VR Preview broken in UE5 Preview 1?

@Ken.Brueck as a data point it is working for me in UE5 P1. I know, not entirely helpful but the fact that it’s working at all is somewhat useful info. What I can point out is that my setup is slightly different than yours in that I’m using Oculus Link vice SteamVR with the OpenXR runtime. So maybe there’s something there.

Same here, Steam VR does not launch automatically as when using 4.27 or EA. If Steam VR is already running, UE5 Preview 1 doesn’t care either. I had no problems with UE5 EA, just with the fresh P1

hmm… interesting… running some tests as well.
One question, that is unclear. Can you actually use Nanite & Lumen for the VR Template?

Thanks

1 Like

I found the solution for my Steam VR problem: Needed to install the plugin “SteamVR” manually, now it works. Plugin “OpenXR” is installed by default, I also uninstalled “Oculus VR”, but that should not be necessary.

1 Like

With the Steam VR addon enabled I can actually start the demo in preview… there is limited control though and it seems I cannot pickup the weapons and other interactables

2 Likes

If I enable the Steam VR plugin and restart, I get the option to do the VR Preview and I can see my Index controllers. Teleport is really broken though. It seems like it’s relying on the direction my HMD is looking, rather than where my controllers are pointing.

I was really hoping to abandon the Steam VR plugin, heh.

The issues w. VR Preview not being enabled is due to a local configuration on your end. Enabling the SteamVR plugin is not a solution as the VR Template is designed for OpenXR.

Troubleshooting steps:

  1. Make sure you’ve set SteamVR as the OpenXR runtime. You can easily do this using OpenXR Explorer: GitHub - maluoi/openxr-explorer: A cross-platform OpenXR capabilities explorer and runtime switcher with a CLI and GUI.
  2. Start SteamVR prior to creating/opening the VR Template
  3. Try without the SteamVR beta if you’re using that

If you’re using Oculus w. Oculus Link, you should use the Oculus Runtime, and not SteamVR. You also have to make sure that Oculus is running, and that Oculus Link is enabled prior to launching the Unreal Editor. If SteamVR is launching it means your OpenXR Runtime environment variable is set to SteamVR, and you need to switch that to be Oculus using the software tool linked above.

And for those of you who might be confused about “VR Template is not designed for SteamVR but OpenXR” - there’s a difference when talking about the SteamVR plugin vs SteamVR as the Runtime. Here’s some more information on this topic: Monado - About Runtimes

Thanks @VictorLerp but, respectfully, if you carefully read my original post I’ve done all of the things you mentioned here.

This is the status of my machine prior to launching UE5. SteamVR is running, my HMD is responding, and SteamVR is set as my OpenXR runtime. I’m also not running SteamVR Beta.

Once I load UE5 (again, this is a freshly created UE5 VR Template, not something ported from 4.27) I can verify my plugin settings. Note that only OpenXR is enabled:
image

And as you can see, VR Preview is disabled:
image

The only reason I brought up the SteamVR Plugin (not the runtime) is because if I enable it and restart the project, then the VR Preview button is enabled. So clearly UE5 recognizes that I have VR on my machine, but there’s something about the OpenXR aspect that’s not working correctly.

Some other data points:

  1. I’ve now switched to UE5 Preview 2 and the behavior is the same, although this project was originally created with Preview 1.
  2. I can launch 4.27 right now, with my machine in the exact same state, and VR Preview works. So if it’s a configuration problem on my end, it’s strange that 4.27 would not be effected by my bad settings.
1 Like

I thought perhaps SteamVR wasn’t reporting something correctly so I exited UE5, downloaded the utility from your post, changed the runtime from SteamVR to WMR then back to SteamVR, launched UE5 again, and I still see the same issue. Here’s what I see on the OpenXR Explorer:

I try to be explicit for those who arrive here several months down the line through google :slight_smile:

Thanks for the extra details, everything does indeed look correct on your end. If you search for “xr” in the Output log when you start a new project, are there any messages (not necessarily warnings/errors) that are related? Do me a favor and disable the “OpenXREyeTracker” and “OpenXRHandTracking”-plugins and try again.

I try to be explicit for those who arrive here several months down the line through google :slight_smile:

Fantastic point!

In unfortunate news, disabling OpenXREyeTracker and OpenXRHandTracking didn’t change my results. I do however see some errors in my output log. Looks like it’s failing to create an OpenXR instance:

LogPluginManager: Mounting Engine plugin OpenXR
LogPackageName: Display: FPackageName: Mount point added: '../../Plugins/Runtime/OpenXR/Content/' mounted to '/OpenXR/'
LogHMD: Optional extension XR_VARJO_quad_views is not available
LogHMD: Failed to create an OpenXR instance, result is XR_ERROR_FEATURE_UNSUPPORTED. Please check if you have an OpenXR runtime installed. The following extensions were enabled:
LogHMD: - XR_KHR_D3D11_enable
LogHMD: - XR_KHR_D3D12_enable
LogHMD: - XR_KHR_opengl_enable
LogHMD: - XR_KHR_vulkan_enable
LogHMD: - XR_KHR_composition_layer_depth
LogHMD: - XR_KHR_visibility_mask
LogHMD: - XR_EXT_dpad_binding
LogHMD: Optional extension XR_VARJO_quad_views is not available
LogHMD: Failed to create an OpenXR instance, result is XR_ERROR_FEATURE_UNSUPPORTED. Please check if you have an OpenXR runtime installed. The following extensions were enabled:
LogHMD: - XR_KHR_D3D11_enable
LogHMD: - XR_KHR_D3D12_enable
LogHMD: - XR_KHR_opengl_enable
LogHMD: - XR_KHR_vulkan_enable
LogHMD: - XR_KHR_composition_layer_depth
LogHMD: - XR_KHR_visibility_mask
LogHMD: - XR_EXT_dpad_binding
eXSMax, [00000B1B8AF60380][00000B1B8AFC0000 50] iPhoneXR, [00000B1B8AF65940][00000B1B8AFAC800 50] iPhone11, [00000B1B8AF655C0][00000B1B8B197800 50] iPhone11Pro, [00000B1B8AF62D80][00000B1B8AFD2800 50] iPhone11ProMax, [00000B1B8AF66E40][00000B1B8AFD0000 50] iPhoneSE2, [00000B1B8AF60700][00000B1B8AFDA000 50] iPhone12Mini, [00000B1B8AF62140][00000B1B8B195000 50] iPhone12, [00000B1B8AF64440][00000B1B8AFD5000 50] iPhone12Pro, [00000B1B8AF65E80][00000B1B8AFD7800 50] iPhone12ProMax, [00000B1B8AF671C0][00000B1B8AFE2800 50] iPhone13Mini, [00000B1B8AF601C0][00000B1B8AFE0000 50] iPhone13, [00000B1B8AF660
LogMaterial: Display: Missing cached shadermap for M_XRController in PCD3D_SM5, Default, SM5 (DDC key hash: C09BBA10DB4F89065F50CF4A2920CC565CD56A6C), compiling. 
LogHMD: Optional extension XR_VARJO_quad_views is not available
LogHMD: Failed to create an OpenXR instance, result is XR_ERROR_FEATURE_UNSUPPORTED. Please check if you have an OpenXR runtime installed. The following extensions were enabled:
LogHMD: - XR_KHR_D3D11_enable
LogHMD: - XR_KHR_D3D12_enable
LogHMD: - XR_KHR_opengl_enable
LogHMD: - XR_KHR_vulkan_enable
LogHMD: - XR_KHR_composition_layer_depth
LogHMD: - XR_KHR_visibility_mask
LogHMD: - XR_EXT_dpad_binding

Any idea where I go from here?

The “LogHMD:”-messages are unrelated. The particular issue you’re seeing has been fixed but didn’t make it into Preview 2 unfortunately. You can download and build the 5.0 branch on GitHub which contains the fix!

2 Likes

I faced this problem with Oculus quest 2 and the solution was to launch UE after connection to PC via Oculus virtual desktop (I use AirLink).

1 Like

me too