cancel
Showing results for 
Search instead for 
Did you mean: 

How can I know when the headset is mounted or unmounted

daniel.berrebi
Honored Guest

HMD Mount/Unmount Events are not getting triggered when I'm taking off the headset.

 

Current versions:

Unity 2021.3.11f1

Oculus Integration Version 43.0

Running on a Quest 2

 

Did anyone else had experienced this?

Thanks.

5 REPLIES 5

phileday
Expert Protege

I continue to have this issue in Unity with the OpenXR functionality. In my case I use the input system to assign an input to watch the userPresence on the headset. This is supposed to be triggered by the proximity sensor. I can say that it doesn't work the way it should. It does get triggered but not when the headset is removed. The trigger for the removal of the headset is triggered when put back on and only briefly.

I've spent a long time on this and haven't found any solution. I'll also point out that this valuable also fails to work properly on the Pico 4 and the Focus 3.

If anyone can offer a solution or identify it as a definite bug that has to be fixed by either Oculus or Unity that would be useful.

All the best

Philippa

VARSoculus
Explorer

I have the same problem with the latest Integratin package at the time and unity 2020.3.45

tieu51
Explorer

Hi,

We are on 2022.3.0f1 and we can't manage to make it work. We tried the same way that phileday as explained, in vain...

It's strange that to be compliant to put an app on the app lab & meta store this fonctionnality is required but you can't find anywhere how to make it functionnal !

🤞

 

phileday
Expert Protege

Hi

The only way I've found to get the proximity sensor detection to work properly is to use the Oculus integration rather than the OpenXR integration. Then you can do this:

//-----------------------------------------------

    public void Awake()
    {
        //headDevice = InputDevices.GetDeviceAtXRNode(XRNode.Head);
        OVRManager.HMDMounted += HandleHMDMounted;
        OVRManager.HMDUnmounted += HandleHMDUnmounted;
    }
 
    void HandleHMDMounted()
    {
        HMD_OnHead = true;
    }
 
    void HandleHMDUnmounted()
    {
        HMD_OnHead = false;
    }
//--------------------------------------------------

 

That's worked for me in the past. I'm not sure if Meta have updated this though so it might require going back to a previous version of the Oculus Integration.

Hope that helps

Phil

tieu51
Explorer

Thanks again!

The code issues to an error "Platform is not currently supported by OVRPlugin", you're right.

I think we'll try to put our game on another plathform than official (it would not be compliant without this feature ).

Really thanks you phileday for your advises and time <3.