How to grab objects using hand tracking meta quest plugin?

Im using the MetaXR plugin for my game. I can grab objects with controllers but I cant grab objects using hand tracking. I cant seem to find any tutorial that shows how to grab objects with hand tracking. Would appreciate if anyone knows

Im using UE 5.5.4

You might try the new MetaXR Interaction SDK. I have not tried it, but have been keeping my eye on it. The page only shows support for UE 5.4, but when you go to the Download page, it is version 77. Meta tends to keep their plugin versions in sync, so this ISDK is probably compatible with MetaXR plugin version 77, which is for UE 5.5.

I developed my own grab system in Blueprint prior to the Interaction SDK release. For example, mine implements a “pinch” gesture by simply tracking the index fingertip and thumb tip locations, and when they get close enough to each other, it calls a Grab event on the Pawn that works exactly like the controller-based grab, except located at the fingertip location. Here’s a snippet of code…

Hello! I’m using MetaXR plugin version 77 with UE 5.5. Sorry, I’m still pretty new to all this, so I’m trying to understand things better.

Are you following the Just2Devs tutorial for hand tracking and grabbing? And I’m having trouble getting GetHandJointLocation function to work — it doesn’t show up in my Blueprint,

I think this tutorial may help you. Just create some collision link to hand bone


I followed the tutorial but the sphere doesnt go to the index as intended. And I did this for below

It does have the collider for the whole hands and I tried to continue follow for the grabbing part in the GetGrabComponentNearMotionController, but it doesnt work either

Oh, sorry, that “Get Hand Joint Location” node is my own custom function. It is essentially calling “Get Bone Location by Name” on the correct Oculus XR Hand Component with the correct Bone Name. I haven’t looked into your issue above, but be aware that the bone names change depending on where the game is running. For example, if packaged (whether for headset or desktop) the bone name will have an underscore (i.e. Index_3). But if running from the editor, it will not have an underscore (i.e. Index3). This little nuance has bitten me multiple times.