VR Hands Procedural Grab Pro

I’m trying to add more grab types so I can make doors. I’m having trouble adding grab types to the EGrabType… I’m new to C++

Any updates with handtracking?

You can also try using AI tools like GPT to help learn C++, and there are plenty of great tutorials available on YouTube as well.

AllTypes.h
UENUM(BlueprintType)enum class EGrabType : uint8{

None,
Free,
Snap,
Custom
DoorsInteraction // <- Added

};

For now, I don’t have time to work on hand tracking, but it is on the roadmap

I’m curious why you didn’t add pointing. like in most applications the grip curls the middle, ring, and pinky while the trigger curls just the index finger. in yours both do the same thing.

Good question,that’s actually intentional, not a bug :slightly_smiling_face:
In this system, grip and trigger doing the same thing is by design. The focus is on stable, reliable physics grabbing. Splitting fingers (index vs others) during a physics grab often causes slipping or unstable contact.
In most games, pointing isn’t part of the grab logic anyway it’s usually a separate gesture used for UI or interactions.
So the common setup is:
Grab → all fingers curl (stable physics)
Pointing → separate mode when nothing is grabbed
You can still add a separate pointing mode when nothing is grabbed for example, in your Animation Blueprint, switching to a pointing pose/state when IsGrabbing == false and disabling the physics

A few days ago I did some tests with version 5.7 of Unreal on Windows:
https://youtu.be/H4HnrIun2Rk?si=aYwWlK6qtE5w1UEz

1 Like

Great video ! Thank you!

1 Like

Hi! Great work on the Plugin. It works very well and as advertised.

It’s possible to compile the plugin on Mac, I tried it by changing the .uplugin file on an M4 Max MacBook Pro. So I think you can safely enable it by default.

2 Likes

Appreciate you taking the time to report this!

Would it be possible to add an index‑finger extension feature, allowing the index to stay straight independently from the other fingers? This would make it much easier to press buttons or interact with UI elements without grabbing.

1 Like

Yes, good idea, will add that in the next update!

1 Like

Hey, great plugin. I have been trying to migrate the hands into my own VR Pawn. It has worked pretty well but I have two issues. 1) When grabbing an object the fingers don’t close. They are stuck in the open position. When grasping without an object they open and close normally. It seems like the grabbing breaks something. To I need to port anything else then B_HandMesh_l, B_HandMesh_r and all the grab, grasp and index nodes?

  1. I have a first person character setup with a floating hand infront of it. Grabbing works with it but calling TryRelease doesn’t let go of the object. Turning on physics or manually detaching the grabbed object doesn’t release it either. It looks to me like the same logic as in the VR pawn so I am at a loss why it can’t let go of the grabbed object.

Any help would be greatly appreciated!

Hey!

  1. Just to clarify: when you say “floating hands”, do you mean a first-person character with hand meshes in front of the camera, rather than a full VR pawn with motion controllers? The grab system expects a VR-style setup, and using it in a floating-hand / FPS-style pawn requires extra wiring.
  2. Have you been following the migration tutorial ?
  3. Have a look at the BP_HandPreview_r, can be helpful if you want to use grabbing outside the vr project

If nothing helps, feel free to email me!

The first image is from VR and the second from FPS.
I overlooked the other videos in the playlist. Just saw the one embeded in the documentation. With the migration tutorial I was able to fix it, thank you!

The issue was, that I was using my own grab input action instead of the “ApplyGrabAction” delegate. With that it works in VR and FPS.

1 Like

Happy to hear you got it working!

Recommended !!! The plugin works great, it’s easy to get into trouble! I recommend it again!!! But I wish the developer would add more interaction mechanics!!!

Finally!! Finaly an Out-Of-The-Box hands that work in VR that is not the Meta Quest!
I’ve been looking for something like that for such a long time, but it seems like everyone works with the Meta Quest and doesn’t look at the differences in other headsets.
Thanks a lot for this!!
Any chance you’re now woprking in a full body plugin? :wink:

2 Likes

Thank you very much for the kind words. A lot of time and effort went into developing this plugin, so it’s really great to hear that people genuinely find it useful. I hope it helps you create interesting projects and push your VR development to the next level.

Regarding Meta Quest, the plugin works on all modern VR headsets, including Meta Quest, and standalone packaging is supported as well. It’s not surprising that many developers focus on Quest 3, since it’s currently the most widely used VR headset on the market. I also bought a Quest 3 not too long ago and was genuinely impressed by the display quality and overall experience.

The fact that it can be used as a standalone device without a PC, or as PC VR via cable or even over Wi-Fi, makes it a very solid headset for its price. On top of that, inside-out tracking without base stations works very well and tracks position very accurately. At some point I will probably move to a SteamVR headset too, and I think many people are waiting for the next big release there.

As for working on a full body plugin, I do hope to get to it when I have enough time. Right now I am focused on an add-on for realistic interactions with automatic rifles such as AK-style weapons. Designing and implementing these mechanics in a way that feels good and works reliably takes a lot of time and careful iteration.

So yes, full body support is definitely something I want to explore, but I cannot give an exact timeline yet.

Thanks again for the support. It really means a lot :slightly_smiling_face:

  • UE 5.0
  • UE 5.1
  • UE 5.2
  • UE 5.3
  • UE 5.4
  • UE 5.5
  • UE 5.6
  • UE 5.7+
0 voters

It would be interesting to know which Unreal Engine version you are currently using for VR/AR development.

I’m considering dropping support for UE 5.2 and continuing support from UE 5.3 to 5.7+.
This poll will help me understand whether UE 5.2 support is really still needed.