Gamepad (Bluetooth) is not detected on the Meta Quest 3

Hi there,

I’m working on a Quest 3 project that requires a gamepad to play. I already paired two gamepads to my headsets and I can confirm they work as expected in compatibles apps.
I use UE5.3 and the MetaXR plugin (OpenXR plugin disabled because it’s required by MetaXR). The inputs are handled by the enhanced input system and I can confirm that the gamepad inputs are working on Windows, Linux, Mac.

I’ve checked the option Allow bluetooth controllers in the android section. When I start my game I’ve no responses from the gamepad (both). Any idea of what’s happen and how to fix it?

I also tried to make a very simple app that moves the player. The InputActionContext contains only binding for the gamepad, nothing else. It doesn’t work on Android/Quest but it’s OK on the PC.

Following this discussion [Request] Add Android support and maintain updates in UE4. · Issue #52 · JaydenMaalouf/JoystickPlugin (github.com) it seems that the OpenXR plugin disables the gamepad support. It happens with OpenXR and MetaXR.

Best

Hi demonixis!
Did you find any solution to this problem? I’m experiencing the same problem. I’m using UE5.3, pairing a Bluetooth Xbox controller to the Quest3 and it works on some native apps like if I open the search bar to look for an app and the keyboard appears I can use the gamepad to type. However, the gamepad inputs don’t seem to be working on my VR project.
Any help is appreciated, thanks!

Hi folks,

Either of you find a solution here?

It looks like you are running into the common limitation where gamepad input works fine on desktop but gets blocked or ignored Quest due to how MetaXR/OpenXR handles controller input. Since you already enabled “Allow Bluetooth controllers“ the next step is to confirm whether the Quest is actually detecting the gamepad inputs at the Android level.
You can quickly check this by using an online tool like gamepad tester in the Quest browser. If the inputs do not register there, then Unreal will not see them either. If they do register, then it is more likely an engine or Plug in level issue with how input is being routed through MetaXR.

In that case you may need to look into custom input mappings or a plugin that restores Android gamepad support alongside MetaXR.