Skip to main content
Inspiring
May 30, 2024
Solved

Multi Modal - Issue with B button not working without hand detection on Oculus controller

Good morning,
 
 
I'm having an issue with my Oculus controller where the B button becomes unresponsive unless the controller detects that my hand is holding it. This happens even if the controller is turned on and functional for other buttons or actions. Here is what I observed:
 
- Button B works perfectly when the hand is detected on the controller.
- If I remove my hand or hold the controller in a way that is not detected as "hand held", the B button stops working.
When my hand moves towards or away from the controller, an event is triggered in the console: XrEventDataInteractionProfileChanged. This event seems to influence how interactions are handled, particularly regarding the B button on the controller stopping working. This appears to be related to a change in the controller's interaction profile, which is detected and managed by the system. I'm looking to understand why this event interferes with the functionality of the button and how I could control or disable this reaction to ensure constant interaction with the button, regardless of how close my hand is.
 
**Questions :**
1. Is this normal behavior designed for security or ergonomic reasons?
2. Is there a way to disable this feature so that the B button can be used at any time, regardless of hand detection on the controller?
3. If this is a problem with my hardware or configuration, what steps can I take to diagnose and resolve this problem?
 
Any help or advice would be greatly appreciated. Thank you in advance for your support!
 
 
mdl8bitAnswer
New Participant
May 31, 2024

Hello,

I apologize you've hit this issue. This behavior is fixed for v67 where button presses will work normally for unheld controllers as well. We apologize for the delays.

20 replies

mdl8bitAnswer
New Participant
May 31, 2024

Hello,

I apologize you've hit this issue. This behavior is fixed for v67 where button presses will work normally for unheld controllers as well. We apologize for the delays.

Inspiring
May 31, 2024

allright it is a great news for Fire Pro XR ! 

We will improve our system 🙂 

https://youtu.be/s2AqZxBYgSo

 

Inspiring
July 4, 2024

Hi Sir, i back about my orginal problem. I used SDK V67 now.

and i really need to have the possibility to use button from the other hand (or from another object than is not the hand who push the button) 

 

The button B is active only when the right hand is on the right controller and input work. if other hand use the button no Input.

 

Please check video and tell us if it possible to unlock hand verification for active input when we want.

 

https://youtube.com/shorts/rZTM5t8oxb0?feature=share

Thanks in advance.

New Participant
July 5, 2024

Hello,


I'm terribly sorry that you're still seeing these issues. Let me investigate here if there was a problem with the ingestion.
Just so I understand, it looks like you're using a Quest 3?

Thank you, and I will follow up promptly on this.

Inspiring
July 5, 2024
Yes we used Quest 3.
 
That you understand the benefit of having this possibility, with our solution you place the button on a fire extinguisher and when you use the handle of the extinguisher to press, a small plastic tab comes to press button B. this could also be another button)
 
Our current system switches from hands to controllers and there the problem is not encountered but there is always a latency time when we finish using the extinguisher and we find no hands to continue other interaction in the game. with the new simulataneity function, this will allow a better experience, being able to use your hands at any time to press an alarm for example and use the fire extinguisher (which presses the B button to initiate an interaction allowing you to see the particles of the real extinguisher appear.
New Participant
July 9, 2024
Hello!
Apologies for the delays; I've been trying to sort this out on my end and get exact information to give here.
 
So, I had mixed up the actual release timeline a bit here. The fixes for this will ship in our public release fully in v69. I understand this is still a couple months away and I'm really sorry for the mix up and delayed timeline.
Inspiring
July 19, 2024

ImmergenceStudio01  mdl8bit  Just upgraded to V68, it's even worst, I highly suggest you not to upgrade to that version if you are working on concurrent hands and controllers. Now in unity test mode via quest link, you CANNOT use both controllers and hands. if you hold any controller with your hand, you don't get your hands anymore. if you drop the controller, you get your hands back after an awful delay.

This issue is not appearing in the build, but we can't afford to build eachtime we wan't to test a small change.

At this point the dev of our game is on full stop, this is getting beyond annoying and unprofessional. 

It's getting very stressful to hit that update button. Anyway to revert back to v67?

New Participant
July 24, 2024

Hey Mikyjax, sorry to hear this frustration. We will look into this regression and fix it ASAP.

 

To help us understand the issue, could you elaborate what do you mean by "in unity test mode via quest link"?

Inspiring
July 13, 2024

Ok heard. for this to work with V69 Public, do we also need the V69 SDK for unity? Is there a connection between...

Inspiring
August 19, 2024

Hello shibow ImmergenceStudio01 , we've been told this would be fixed in V69. I'm on 69 now

I tried it again in your last Meta XR Interaction SDK Sample 67.0.1>ExampleScenes>

ConcurrentHandsControllersExamples

If your don't hold your controller you cannot interact with buttons or axis.

I don't understand why we have the position of the synthetic controller correctly updating all the time but Not the Input.

This is not concurrent nor simultaneous. 

Right now you Input system is either in Hand or Controller mode.......

How do we change that?

Inspiring
August 19, 2024

It is same for me. Maybe we need to update SDK v69 for unity too ? not just headset... Please Meta help us to know if feature will be available ? 

Inspiring
August 19, 2024

Hello ImmergenceStudio01  Did you find a workaround in the meantime? In my game honnestly I could even use a toggle button to say when I want the Right controller to be active and when I want my Right hand to be active. I don't really need an auto-detect like I have if it's not fully working.

Now my left hand should always be the realhand no matter what. Any idea to implement such a system?

I would really appreciate your help.

Thank you.

Inspiring
August 19, 2024

Sorry i am stuck myself. for now i am using the switch system. hand to controller and backside but is is too long yet for back to hand after use controller.

Inspiring
August 20, 2024

Just tried in core SDK v68 update and it's worse.

While it's perfect in unity play test mode, when you build their demo scene you have the same issue as before (button not being triggered while not holding the controller) but you also get an A button press and a Trigger press each time you pinch with your fingers.

So when you do a pinch gesture, in a regular shooter you would actually Fire and Reload... this is beyond comprehension.

Is there anybody from meta in here to tell us what you guys are aiming for? Is your goal to disable the controller input when it's not held and take the trigger and A button from us or are you trying to have your controller behave like in unity?

Both solutions are interesting as I can understand why some game won't need the cpu load of asking for an input from the controller if they don't need it if not held but we need a way to choose! If we can't select the behaviour of our choice at runtime that's really bad...