cancel
Showing results for 
Search instead for 
Did you mean: 

Controller Buttons Bad Mapping : OVRPlugin with OpenXR Backend - Unreal Engine

MoveMusic
Protege

In Unreal Engine, when using XR API: "OVRPlugin OpenXR" setting in the OculusVR plugin, I am experiencing a bug where the Y button on the left hand controller triggers the same button mapping as the menu button on the left hand controller.

I have checked my Blueprint files and my Unreal Engine Input Mappings and I have two separate mappings for the left controller Y button and menu button. But, when I press the Y button, it also triggers the mapping for the menu button. When I press only the menu button, the behavior is correct. Specifically the Y button triggers the mapping for itself and additionally the mapping for the left hand menu button.

This does not happen when I use the XR API, "Legacy OVRPlugin", which has the correct behavior.
Does anyone know how to remedy this?

I specifically would like to use the "OVRPlugin OpenXR" XR API so I can get access to the MR passthrough feature, but sadly this is breaking my button mappings.

I am on v35 of the Oculus Unreal Engine integration of Unreal Engine 4.27.1. On GitHub, the tag oculus-4.27.1-release-1.67.0-v35.0.

1 ACCEPTED SOLUTION

Accepted Solutions

This problem was solved in the latest oculus update (in the oculus itself, v37). It seems it was some duplicate input in the oculus software.
Even an old app that had the problems now it doesnt anymore

View solution in original post

6 REPLIES 6

MoveMusic
Protege

This incorrect button mapping behavior is also present for me when using the XR API "Native OpenXR".

The core issue is the following:

  • When using UE4 Oculus integration v35
  • When the XR API in the OculusVR Plugin is set to either "OVRPlugin OpenXR" or "Native OpenXR" (in Unreal Engine -> Project Settings -> Plugins -> OculusVR -> XR API)
  • When you've added only a single input action mapping for "Oculus Touch (L) Menu"(in Unreal Engine -> Project Settings -> Input -> Action Mappings)
  • When running the app in the headset
  • Then both the left controller Y button and the left controller Menu button trigger the same input action mapping that was assigned to "Oculus Touch (L) Menu"


I'm betting this is some kind of accidental double mapping in the OpenXR backend. Would love a fix for this! If anyone knows where to report a bug like this that will be seen by the Meta devs, please share a link. Thank you!

dario.maciel
Adventurer

Same problem here. Definitely something related to the OVRPlugin OpenXR.
Using the legacy it behaves correctly but we cant use the Passthrough API.
The "solution" is to not use the Menu Button or the Y button at all, unfortunately

My current hacky solution is to add a boolean variable called `OculusTouchLYButtonDown` in Blueprints that gets set to true or false depending on if the Y-Button is pressed. Then whenever the menu button is pressed, I check if `YButtonIsBeingPressed` and if false I fire the menu button action. This solution may depend on your Input Action Mapping ordering. In the Input Action Mapping List I have the Menu Button listed before the Y button.

Y Button Press EventY Button Press Event
App Menu Button Press EventApp Menu Button Press Event

This problem was solved in the latest oculus update (in the oculus itself, v37). It seems it was some duplicate input in the oculus software.
Even an old app that had the problems now it doesnt anymore

I also am experiencing corrected behavior in the Oculus OS v37. I did not need to upgrade the OVR plugin in my app and I no longer need to use any workarounds for this problem.