OpenXR VR Template | Feedback and Discussion

UE5 P1 is the most up-to-date. That said, not much has changed since 4.27.2 (the template received updates in both 27.1 and 27.2).


This is what my “lightmap density” visualization look like, just on the VRTemplate Project, it’s fine on other normal UE projects. Bakes fine and looks fine, it’s just a bit annoying, any way to solve this?

2nd issue:

  • If I open VRPawn asset blueprint in the editor and play VRPreview and I try to use the teleport function, the teleport trace does not appear and I’m not able to teleport myself (the teleport blue circle appears on the floor just beside me and never moves from there)
  • If I close the VRPawn asset, all goes back to normal and teleport functionallity is ok.

Same issue for me with Vive Cosmos. I tried closing all asset windows, it still doesn’t work.
Oculus Rift S is fine instead.

Any help?

Is there a possibility that we get a relieble smooth UI solution / example project for VR (PC and standalone)? Something that takes care of UI quality, specially text, in the line of applying the optimization advices given in this Meta article, but in an Unreal-straightforward easy way?
That would mean a solution to the current problems or/and an example of the desired solution, in the template or in an example project

At the moment the 3D/VR UI problems me and other users have found are:

  • When using Stereo Layers in standlalone (Quest2), stereo layer transparency does not work if we activate “supports depth”, giving black backgrounds to stereo layers.
  • Also stereo layer texts show aliasing in standalone VR (not in PCVR). (This one I have not confirmed with other users, though).
  • If we don’t use stereo layers (which would be the ideal scenario, due to it’s limited number of allowed instances), we can’t use 3D widgets which make use mipmaps, using blueprints, wich makes them useless in many situations, due to aliasing. A checkbox for that would be great.

More debate of these issues can be found in this post.

I think it would be great if we had a good example project (integrated in the VR template or not) for cases of intensive use of VR-UI in UE (specially if while doing so, some of the aforementioned issues could be adreessed).


I am on UE5p2 and I keep getting the following error regardless of SDK/NDK/JDK/Gradle combination:

java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7

Had no issues packaging with any of the previous UE4 releases.

Thanks for the detailed post. Great suggestion, I’ve added this as a task for 5.1 timeline.


You detailed in another post that it happens to a project that’s converted from 4.27. Do you have the same issue with a new VR template project in Preview 2?

I haven’t tried that, but I will give it a spin.

Tested with VR Template. Not only the same error:

UATHelper: Packaging (Android (ASTC)): java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7

But also another error I didn’t have in my own, ported from 4.27.2, project:

ERROR: cmd.exe failed with args /c “F:\Unreal Projects\UE5VRTemplate\Intermediate\Android\arm64\gradle\rungradle.bat” :app:assembleDebug
PackagingResults: Error: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
PackagingResults: Error: cmd.exe failed with args /c “F:\Unreal Projects\UE5VRTemplate\Intermediate\Android\arm64\gradle\rungradle.bat” :app:assembleDebug

Also, I noticed that Software Occlusion Culling, which was an essential and amazing optimization feature in 4.2x.x , is now gone from UE5 (at least from Preview 2). Is it by design or someone just dropped the ball ? Quest 2 (or Pico Neo 3) devs really need this feature.

1 Like

@VictorLerp By chance, any word on that error and on missing Software Occlusion Culling ? Thanks

Software Occlusion Culling has been deprecated in 5.0 as all of our min spec devices support Hardware Occlusion Culling.

1 Like

Well, Hardware Occlusion Culling is done on GPU (according to Epic’s docs) and on Quest 2, GPU is where you bottleneck really quickly. It’s pretty sad to see how Epic is pushing more and more UE VR devs to migrate to Unity :frowning:

1 Like

Hi @jimgris! were you able to fix the issue? I am experimenting the same problem, I have created a clean VR 4.27.2 Template and I already deleted the VR Spectator Actor from the scene.

@VictorLerp do you have any feedback about this issue?


It’s been fixed in 5.0

Any workaround for 4.27?

No that I know of. There was a combination of work that fixed the issue in 5.0, so I can’t point to a specific CL that you could cherry pick :confused:

1 Like

Hi, I’m using UE 5, today’s official UE5 launcher version

  • clean install
  • building the VR template

I can’t run a lighting build or level build without the editor crashing.

the official Content Samples, Lyra, Blank project, all build without crash :confused:
Is anyone else having this issue?

Hey Victor,
Awesome stuff on the channel. I was playing with the openxr vr template a couple months ago and hand tracking for the quest 2 wasn’t supported out of the box but you mentioned maybe in later releases. I see with the official release of 5.0 the OculusVR plugin is now at 1.59, is hand tracking now supported in the vr template?

Hey @Kavan - thanks for the report. This comes as a surprise as I was baking lighting and flipping project settings up until days prior to release… however, I was able to reproduce the issue and I have a workaround:

In Project Settings → Platforms → Windows → Targeted RHIs → Default RHI. Change from DirectX 12 to DirectX 11.
In /Project/Config/DefaultEngine.ini, change DefaultGraphicsRHI=DefaultGraphicsRHI_DX12, to DefaultGraphicsRHI=DefaultGraphicsRHI_DX11

I’ve logged the issue and will try to get it hotfixed ASAP.


We’ve yet to get hand tracking support for Oculus devices w. OpenXR. So if you want hand tracking on Quest you have to set the XR API in Project Settings → Plugins → OculusVR to “Legacy”. This will disable OpenXR entirely as Oculus Legacy will take priority over OpenXR (if using an Oculus device), and you’ll notice some differences in template functionality; primarily the relative orientation of Motion Controllers, and the lack of an “Aim Pose” (which only exists w. OpenXR).

1 Like