Forum Discussion

minafinity.2025's avatar
minafinity.2025
Honored Guest
30 days ago

How to show hands while using controller input to grab objects (Meta All-in-One SDK)

Hi,

I'm currently developing a VR experience using Unity (2022.3.62f1) and the Meta All-in-One SDK(ver. 78.0), where users are physically holding controllers, but hands are shown instead of controllers — so that interactions appear to be done with hands, even though the input is coming from the controllers.

To support this, I've enabled controllerDrivenHandPosesType so that the virtual hands animate based on controller input.

Additionally, I configured the controllerButtonUsage property of the GripButtonSelector inside the ControllerGrabInteractor (under [BuildingBlock] OVRInteractionComprehensive > Left/Right Interactions) to use the Primary Button, allowing users to grab objects via button press.

However, in this setup, the interaction still seems to be treated as hand-tracking-based.
As a result, the HandGrabInteractable component (set via [BuildingBlock] HandGrabInstallationRoutine) follows the Pinch Grab Rules — so the user must still pinch specific fingers to grab an object, even though they're using controller input.

 What I’m trying to achieve:

  • Show hands instead of controllers
  • Allow grabbing with a controller button (e.g., Primary Button)
  • Disable or bypass pinch gesture requirements

My Question:

Is there a supported way to simulate hand-based interactions visually, but use controller buttons to grab, without requiring pinch gestures?

If there’s a recommended approach, workaround, or best practice to achieve this using the Meta All-in-One SDK, I would greatly appreciate any guidance.

Thanks in advance!

1 Reply

  • Hey minafinity.2025,

    Thank you for your message. 

    The HandGrabInteractors in your Rig use something called HandGrabAPI in order to process the input. You can replace the "hand pinch" with any other signal, like a Trigger. Add a ControllerPinchInjector.cs next to the HandGrabAPI and it will replace the Hand with Controller trigger input.  If you want to re-create this to support discrete buttons instead of triggers you might want to create your own IFingerAPI based on the Trigger one.

    I believe the HandGrabExamples.unity sample scene is functioning this way too, and for the OVRComprehensiveRig.prefab this is supported by default.



     

→ Find helpful resources to begin your development journey in Getting Started

→ Get the latest information about HorizonOS development in News & Announcements.

→ Access Start program mentor videos and share knowledge, tutorials, and videos in Community Resources.

→ Get support or provide help in Questions & Discussions.

→ Show off your work in What I’m Building to get feedback and find playtesters.

→ Looking for documentation?  Developer Docs

→ Looking for account support?  Support Center

→ Looking for the previous forum?  Forum Archive

→ Looking to join the Start program? Apply here.

 

Recent Discussions