简体   繁体   中英

Detect Oculus Quest 1 & 2 Headsets in Unity

I'm looking for a way to detect the name of the headset being used in my VR app. I need to distinguish between the Quest 1 & 2 in order to implement the different controller mappings. Methods like XRDevice.model or OVRPlugin.productName don't provide any name lists in the documentation and since the quest 2 is a new model I haven't found information on it anywhere. Any help would be appreciated.

If you are running on the Quest 2 directly (as opposed to Oculus Link) you can use

OVRPlugin.SystemHeadset headset = OVRPlugin.GetSystemHeadsetType();
if(headset==OVRPlugin.SystemHeadset.Oculus_Quest){
// Quest 1 stuff here
}else if (headset==(OVRPlugin.SystemHeadset.Oculus_Quest+1)){
// Quest 2 stuff here
}

They haven't added Oculus Quest 2 to the SystemHeadset enum yet, but it has a "Placeholder_9" in its place. I just prefer the "+1" for clarity.

If you are using the link, it will return Oculus_Link_Quest for Quest 1 and I assume (Oculus_Link_Quest+1) for Quest 2. But I haven't confirmed that.

Edit: As of 2020-12-06, both Quest1 and Quest2 return "Oculus_Link_Quest" if you're using Oculus Link.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM