Puzzle VR in Unreal 5.1

Hi Unreal Expert,

I have been following some tutorial for snapping object to other object in VR, for example like this one,

How to make simple VR puzzle in Unreal engine tutorial - YouTube

It seems that it is not working for unreal 5.1 with the “GrabComponent”.
Is there anyway to do it in Unreal 5.1?

I have been searching around internet but I did not find anything for unreal 5. That is why I post this question here.

Thank you in advance! :grinning:

Hi Rick,

The video that you linked is using the old VR Template. In 4.27 an entirely new VR Template was introduced.

One idea would be to install UE 4.26, Create a VR Template Project, then open that project in UE5.

Another option would be to try and grok the grabbing system in the new template.

Hope that helps! If it does help, everyone must refer to me as ‘Unreal Expert’ henceforth! :nerd_face: :sunglasses:

Thank you for the link. I will try to watch it maybe I will find something from it.

From the video I can see that there is “On Dropped” command. But then I tried to put it in some position, then it is not working :sweat_smile:

Even put in the original position did not work. It is like you pick up the object, when you “On Dropped” it I put "Attach Actor To Component but not working

Solved this! Here is how I got a clean VR snap-to-zone mechanic working using the standard VR Template’s GrabComponent:

  • Trigger on Drop: In BP_Cube’s Event Graph, I hooked the On Dropped event from BP_GrabComponent into a custom TrySnapToZone function.
  • Check Overlap & Snap: Inside TrySnapToZone, it uses Get Overlapping Actors (filtered to BP_Table), checks if the cube is overlapping the table’s SnapPoint collision box, disables physics, and sets the cube’s world location and rotation to match the SnapPoint.
  • Quick Tip if Reusing This: If you duplicate this logic and change the Class Filter dropdown on Get Overlapping Actors to a different Blueprint, make sure to disconnect the For Each Loop array pin and Refresh Nodes (or replace the loop node)—otherwise Unreal will cache the old actor type and throw a compiler error. You also don’t need a Cast To node since the class filter already outputs the exact actor reference.

Screenshots of my BP_Cube Event Graph, TrySnapToZone function, and BP_Table setup are attached below!