Showing results for 
Search instead for 
Did you mean: 

Bluetooth scan and permissions. BLE and the CompanionDeviceManager

Level 2


I am working on a project that connects  BLE Gatt devices ( heart rate, FTMS, Power, speed, cadence profiles... ) to Oculus Quest headsets .

I've been using the alpha and release channels to regularly upload and distribute the app with a test user group.

I got this error message the last time that I uploaded  a build : " DO not use location permissions to scan for nearby Bluetooth devices. Update your app to use the COmpanionDeviceManager API to make and manage connections...." 

I need help using the CompanionDeviceManager API on Oculus Quest. I've been trying A LOT of things and permissions, but I can't make it work on Quest. The device scan seems to silently fail.

I made it work seamlessly on my Android phone ( the COmpanionDeviceManager API  BLE device scan & bonding ), but it doesn't work on Oculus Quest.


Also :  there are these 2 valid permissions in the Quest VRC checks,  BLUETOTH_SCAN and BLUETOOTH_CONNECT . The problem is that they don't seem to be accepted by the Oculus Quest headset.

They are permissions introduced with Android S.


Please help,

I would really need to talk with someone from Oculus about the BLE support.







Level 2


I'm in the exact same situation.

Since the LOCATION permissions are now prohibited, we've been forced to look into that CompanionDeviceManager API. I'm unfortunately unable to make it work in our Unity project. It feels like the CompanionDeviceManager has not been designed at all for this kind of use case.

I start to believe that this API can't be used in the headset, but if it can, it will have to be through an unconventional and undocumented way.
So @oculus, if you're so sure that the CompanionDeviceManager can be used, could you please provide us an example ?


Please help !

Level 2

If anybody figures this one out, I'd be super happy to know how. I'm in the same situation, app being rejected from applab due to this constrain but I am unable to make the BLUETOOTH_SCAN work ... not even sure what it does.