Skip to main content
New Participant
May 27, 2020

[Hand Tracking] New Oculus Start Button

Hello,

With the last update 17, i've noticed that there's now the start button showing within the left hand, like the right hand do with the oculus button.

I've also noticed that Waltz of The Wizards use this button to trigger a Menu Settings.

My question is : Which script is managing this new button ? I searched OVRHand.cs but didn't found anything. 
I also tried the OVRInput like i would do if i want to code the start button with the Touch Controller but it didn't seem to work.

I want to use this feauture to create a Menu for my game, but didn't find any documentation about it so far.

Do someone have found where he is generated in Unity and how we can customize it ?

Have a good day everyone

This topic has been closed for replies.

24 replies

New Participant
May 30, 2022

Same here - 'Start Button' doesn't work with hand tracking, even though the same code works with regular controllers.

 

Even checking for 'Any Button' on 'Any Controller/Hand' doesn't return true when completing the pinch gesture with the left-hand and the loading circle animation completes.

 

Using Unity 2021.3.2f1 and Oculus Integration v39.

New Participant
May 31, 2022

Same here. Are there any chances of this ever getting fixed? 🤔

Inspiring
August 2, 2022

Honestly if it is still an Issue, you might as well just program your own gestures to do it. Here is a good tutorial on how to do it. Hope this helps.

https://www.youtube.com/watch?v=lBzwUKQ3tbw

Participant
September 22, 2022

If you know of a way to simulate the gesture to trigger when the system gesture triggers I'm all ears. We have no idea what kind of time and distance thresholds, smoothing etc they're using so it's very hard to get it to match exactly. An imperfect workaround for sure, but why isn't this still fixed? Just updated to integration v0.43 and the issue is still there. Or is there a different working way of reading the state aside from what's in this thread?

New Participant
September 22, 2022

I've sent a bug report to Oculus, and after 2 months of "thank you for your patience, we're still working on it!" they said they won't fix it. No explanation why, or if they're even going to work on it in the future, or anything. They just closed the ticket and that's that.

 

So I guess they just don't care? The whole situation is baffling to me - it seems like a very simple issue to fix or at least give us a good workaround, but instead they've been ignoring it for almost two and a half years.

Up and Coming
November 1, 2022

For anyone wondering this is fixed in 46 Oculus Integration. 

New Participant
December 12, 2022

I can no longer detect the menu button after installing the Meta Quest Software Update v47.

I have tried both by binding the input action <XRController>{LeftHand}/start, and by checking the controller state directly through OVRPlugin. The button is triggered with the controller button, but not with the hand gesture. Also the animation appears to have changed, as it no longer shows a circular progress bar.

New Participant
December 19, 2022

Hello all! I have found a solution that works for me.  I am using Unity 2022.1.20f and Oculus Integration version 47 meaning that this works even with the new shorter menu press animation.

 

The code:

if(OVRInput.GetDown(OVRInput.Button.Three) && (OVRInput.GetActiveController() == OVRInput.Controller.Hands)){
//Open menu
}

 

I have tested this code and I have reason to believe that it should work on prior versions of the Oculus Integration package.  However, I have not tested this hypothesis yet. 

 

This code will only detect when the user is using hand tracking and presses the menu button.  To also include when the user presses the menu button with their controller include an or statement and  OVRInput.GetDown(OVRInput.Button.Start)

 

An additional note / why I believe this to work on prior versions:

It is necessary to include the OVRInput.GetActiveController() method because if not, when the user uses the controllers, the X button is mapped to OVRInput.Button.Three.  However, when the user uses their hands OVRInput.Button.Three is mapped to the menu button. 

This used to be an issue with OVRInput.Button.Four around 1-2 years ago.  I guessed they remapped the button at some point in time.  This issue was almost identical as I am sure not too much has changed beyond the OVRInput.Button.Start no longer working as intended.  That is why I believe this solution will work for previous versions of unity.

 

Hope this help!

-Nate

New Participant
December 19, 2022

Thanks Nate for the write-up. I just upgraded Oculus Integration to v47 and even this works now (for both the hand system gesture and the controller menu button):

var state = OVRPlugin.GetControllerState4((uint)OVRInput.Controller.Hands);
bool menu_gesture = (state.Buttons & (uint)OVRInput.RawButton.Start) > 0;

(however, the input action still doesn't work for me)