Forum Discussion
ImmergenceStudio01
1 year agoStart Partner
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!
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
- mdl8bitExplorer
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.
- ImmergenceStudio01Start Partner
allright it is a great news for Fire Pro XR !
We will improve our system 🙂
- ImmergenceStudio01Start Partner
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.
- mdl8bitExplorer
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.
- ImmergenceStudio01Start PartnerYes 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.
- MikyjaxProtege
Hello Just so you know, this has been a while. And it's a pain. I'm also on the Quest 3.
If you want to see it by yourself, you can launch your own demo sample in the latest unity sdk:
"ConcurrentHandsControllersExamples"
First, Nothing works by default until you tick all the "simulataneous hands and controllers" in the OVRCameraRig.
Then you test in unity --> no prob
then you build it for windows --> no prob
Then you build for Quest and you will see that none of your button or axis are working if your hand is not directly on the controller.
Also, when you pinch with your right hand it triggers button A same for button X with left hand. How do we turn that off?
Version:67.0.0.562.358.618485700
Version d execution : 67.0.0565.358.618485551
Meta XR Core SDK up to date.
Hope we will get a fix for that soon, or that it's at least acknoledge as an issue...
Thanks.
ImmergenceStudio01 hang in there... I think we'll get this for quite some time...
- ImmergenceStudio01Start Partner
indeed you are absolutely right Mikyjax. the same here in unity editor on windows with the headset connected in link, it works but once the build is produced and launched on the headset. need your hand on the controller to activate the controller inputs.
- mdl8bitExplorerHello!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.
- MikyjaxProtege
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?
- MikyjaxProtege
Hello!
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.
- ImmergenceStudio01Start Partner
Ok heard. for this to work with V69 Public, do we also need the V69 SDK for unity? Is there a connection between...
- MikyjaxProtege
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?
- ImmergenceStudio01Start Partner
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 ?
- MikyjaxProtege
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.
- ImmergenceStudio01Start Partner
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.
- MikyjaxProtege
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...
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device