We are currently developing a Quest 2-based mix-reality game using Unreal Engine.
One of the critical features of this game is to allow the customer to use a physical control unit we build explicitly to perform in-game actions, controls, and tasks in virtual reality using Quest 2.
So far, We have been experimenting with the Bluetooth pairing feature in Quest 2 with our Bluetooth device using the game controller driver and keyboard mouse driver. However, It was not the same experience as working with any other android device for our controller using the mouse keyboard driver. We could not get our device to pair with Quest 2 with our controller programmed in the keyboard and mouse driver. It is just stuck at the pairing screen and keeps loading, popping up with a connection failed message.
1. Is there a specific protocol/documentation that we should follow to make our firmware compatible with Quest 2?
2. Are we required to have a commercial license from Meta to enable accessibility to our Bluetooth controller device to be supported by Quest 2? if so please direct me to the correct contact.
thanks in advance
Working on a similar challenge here. Our device actually connects with the headset initially, and the controls work in the main menus (D-pad, select and back buttons, etc), but then after that initial connection, the when reconnecting a 2nd time with the same piece of hardware, although the device shows that it's paired/connected, the control input have no more effect. Even "forgetting" the device and re-pairing after restarting the headset does not correct the issue. But using a new hardware unit (new MAC/UUID) seems to work the first time only. We don't have this issue on Android phones or Windows computers. No such issue with other OTS 3rd party bluetooth gamepads,, so we suspect something is missing in our HID profile/report descriptor, and the Quest 2 is blacklisting our device. A factory reboot of the headset and test should confirm/support this theory but we have not tried this yet. We'll also be trying connection directly via USB-C port next to try and narrow down the cause.