cancel
Showing results for 
Search instead for 
Did you mean: 

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!
 
 
20 REPLIES 20

@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?

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"?

Mikyjax
Protege

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?

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 ? 

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.

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.

Mikyjax
Protege

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...

Hello! 

@shibow @mdl8bit 

We are past the couple months, we are on V69 public. As asked by @ImmergenceStudio01 Could you confirm that we are waiting for the V69 interaction SDK to have this corrected?

Could you also confirm that we will have the exact same behaviour in Quest android build that we have in unity test mode?

Meaning:

  • When controllers are not in hand they will still register buttons and axis presses
  • Pinching with your index and thumb WONT trigger the primary button and primary trigger

If so do you have an idea when this SDK version will drop?

Thanks for your support.

Mikyjax
Protege

@ImmergenceStudio01   I tryied the sample scene with 69 sdk, it seems to be working now. 

Is it ok on your side?

my last test was not good ! i will retry now !