Weird distortion when moving head

4.27 + OpenXR causes the issue in any projects

In the Oculus fork of UE4 4.27 you can pick the XR api in the Oculus VR plugin settings, I was told that using the Oculus VR plugin with the OpenXR backend like this would ensure future compatibility while allowing me to use Oculus VR and not have my distortion issue, does that make sense?

Something must’ve changed w. the Oculus runtime and/or Link as this was not an issue when we released 4.27 w. OculusOpenXR (which is using the same API setting as OVRPlugin OpenXR). Oculus’ updated their 4.27 fork for Quest Pro, and subsequently their plugins after we released 4.27. It’s another reason why we’ve deprecated OculusVR (and SteamVR) in 5.1, since Meta/Valve was locked to our release schedule to make updates to their plugins.

The MetaXR plugin works for Vanilla 5.0.3, so you’ll be able to update to 5+ when you’re ready.

Another weird find, the issue only occurs if the editor is minimized, once restored the issue totally goes away, it’s not something that I can test in a packaged build but I imagine what happens is similar in either modes

I know that you guys are working on UE5 now but please consider fixing OpenXR in 4.27, the performance is just better and it makes no sense to use UE5 for vr right now

such a distortion look as when textures are not perspective correctet. maybe you have switch something off ? .normaly engines do that automatic. i see such a effect on gfx card programming

If anyone could test this build of the VR template project in 4.27, and confirm if they are experiencing what I described by moving the headset left to right while looking at the controllers, that would be massively appreciated, preferably on a Quest 2 but if not just let me know which headset you’re using

Doubtful anyone is still reading this but the issue kicks in as soon as the headroom dips below 80 exactly, changing the headset refresh rate from 72 to 120 makes no difference

I could see the problem when running your build. I created a new VR Template and the problem did not occur, neither in the editor nor after the build.
I used UE 4.27.2 (oculus branch) and just changed the Oculus plugin from “Legacy” to “OVR openXR”. HMD: Quest 2 / USB Link.

I believe your problem must be related to some settings in your project. As a last resort you can try the 4.27-plus branch, they do constant updates and several are related to XR.

Good Luck!

1 Like

Thank you so much for giving this a try, really appreciated

The issue happens only when using both OpenXR and Oculus OpenXR, the way a fresh vr template is set up in the official 4.27.2

It doesn’t happen if I use OculusVR instead, or in the Oculus fork if I choose OpenXR + OculusVR set up as “OVRPlugin OpenXR”

From what I was told, using OpenXR along with OculusVR just disables OpenXR and so I concluded that this wasn’t a solution since I’d like to use OpenXR

But I was also told that OpenXR + Oculus OpenXR from the offical build, is the same as OpenXR + OculusVR set up as “OVRPlugin OpenXR”.

So I’m aware that it works the way you described using the Oculus fork, but a little confused about if this really is the same as using OpenXR + Oculus OpenXR from the offical build, lol

That’s right, when official 4.27.2 was released, oculus still used separate plugins (Oculus openXR was still in beta), you needed to disable Oculus vr and enable Oculus OpenXR. In the latest 4.27.2 oculus branch the two plugins have been combined into just one where you switch between “Legacy” and “OpenXR”.

2 Likes

If that’s really the same then that’s some good news since I get no distortion using the Oculus fork with those settings

Someone suggested I try that already but they said they weren’t sure 100% and I assumed that enabling OculusVR disabled OpenXR as with the official 4.27.2 and what I was told here

Thank you so much for taking the time to test and reply, it means a lot!

Since there is no plan from Epic to fix 4.27.2, I marked Jamp’s response as the solution

Marking the thread as unresolved again as it appears using OVRPlugin OpenXR disables OpenXR, unlike Oculus OpenXR.

The controllers having different orientation was my main concern after being told that OVRPlugin OpenXR is the same as Oculus OpenXR, the orientation of the controllers changed like when using the legacy plugin without OpenXR which made me suspect it disabled OpenXR

Commenting to say I’m having this exact issue while trying to migrate a project in 4.27 from Oculus to OpenXR. Your comment about performance is interesting because I also have a bunch of performance headroom, but ASW kicks in during fast head movements while a reflection-heavy object is in view…will investigate further.

Switching to the Oculus branch isn’t really an option for me so I’ll be looking for a solution on main.

That’s unfortunate, we’re on our own so hopefully we can find a solution for this

Another observation I made, it doesn’t happen while using DX12, I’ve considered adding the option to switch RHI in the game options so people can pick between a more performing DX11 with the visual glitch, and a less performing DX12 with no glitch.

I really don’t understand how Epic thinks it’s a good idea to just drop all support for UE4 so soon, UE5 has many issues still, especially for VR

The Oculus OpenXR option is needed if you are developing for standalone Quest 2 / Pro applications (allowing access to features like appsw, tonemaps, hand tracking, AR, etc). If your intention is to develop a platform agnostic application, you should select the “Native OpenXR” option, or perhaps disable the OculusVR plugin (also the SteamVR plugin) and use only the native OpenXR plugin. In this case it is better to migrate to the 4.27-plus branch as this version still receives updates related to XR.

I’ve tried the Native OpenXR option but that crashes my editor instantly

I’ll give the plus branch a try, do you have a link to that?

Edit: Got it

Unfortunately the 4.27 plus version has the same issue, and the Native OpenXR option from the Oculus fork is just causing the editor to crash on launch

4j534hy365

Looks like ASW might just be a symptom…I checked with perf monitor and saw that the scene itself is fine (my initial claim that I had enough headroom), but one actor specifically is tanking performance.

Oculus Plugin (originally)
oculusAPI

OpenXR
openXR

New path to investigate.

Yeah your framerate is definitely dipping bellow 72 which will make ASW kick in, getting ASW artifacts in this case is expected, better test in a template scene like I did but I’m pretty sure 4.27 OpenXR is broken for everyone using Link, so far the only people who said they didn’t see the issue were using the OVR plugin which deactivates OpenXR

I’ve just decided to accept it, I tried contacting Oculus as well but no response, it’s like they don’t want us to make vr games or something, UE is a great engine but there’s many issues and support is nonexistent so I’ll release my game as is with ASW always on