Are XBox controllers not supported with OpenXR?

Since the upgrade to UE5 and with using the latest OpenXR plugin I’ve noticed that the XBox controller isn’t recognized when playing on Quest 2.

It worked on UE4. And if I remove the OpenXR plugin from the project and run it as an ordinary android application the XBox controller is recognized.

So what has happened here? It seems like the OpenXR plugin filters away the XBox controller inputs.

This is giving me a headache. If I put logs in the HandleInputCB function in the LaunchAndroid.cpp I still don’t get input from the XBox controller if the OpenXR plugin is installed. If I uninstall the OpenXR plugin I get the input.

So it seems that there is some core settings like in the AndroidManifest.xml that is blocking the inputs. But if I compare them I don’t get anything that should make a difference.

Is there some other settings I should look for that I am missing?

The problem is also present in UE4 (since the implementation of the OpenXR Plugin), only if you use the Legacy OVRPlugin, it allows the gamepad to work.

It seems that the gamepad detection itself is blocked,
there are two nodes in Unreal that return information about the gamepad on Android:
Node “Get Gamepad Controller Name” always returns “none” when in OpenXR, but it correctly returns the model of the gamepad connected using the Legacy OVRPlugin.
Node “Is Controller Assigned to Gamepad” always returns “false” when in OpenXR, but correctly returns “true” if a gamepad is connected using the Legacy OVRPlugin.

I reported the problem some time ago on the Oculus branch, but it is not in their interest to look into this problem for now.

If you have any progress, please report it!

1 Like

Hey,
Same problem here with the MetaXR plugin. There is no input from the gamepad. Tested in a very simple project.