Android Headset Identification: Possible?

I’m trying to determine if my app is running on Q1, Q2, and possibly Pico varieties. Assuming the XR Int. TK does not provide this information, would it be possible to use Android native functions to determine this?

Edit: Or perhaps this?: Unity - Scripting API: SystemInfo

It is currently not possible through Unity API calls to distinguish between Quest 1 and Quest 2. You can import the Oculus Integration asset into your project and use OVRPlugin.GetSystemHeadsetType to determine which Oculus device you are running on.

If you just need to determine if you are running on an Oculus device, you can determine that through the Input System or by enumerating the active XR Input Subsystems. Both methods are somewhat involved, but we are looking to improve the API for determining this information.

If you have the Input System package enabled, you can query InputSystem.devices which will contain the connected devices, and each will have a string layout name. You can then use that layout name as an argument to InputSystem.LoadLayout to get the InputControlLayout. Then you can compare the InputControlLayout.type with the Unity.XR.Oculus.Input.OculusHMD type to determine if you are running with an Oculus HMD connected.

If you don’t have the Input System package enabled, you can enumerate the active XRInputSubsystem using SubsystemManager.GetInstances. From the returned instances, you can query the SubsystemDescriptor.id and compare to “oculus input” and whether it is running.