# Puzzle VR in Unreal 5.1

**URL:** <https://forums.unrealengine.com/t/puzzle-vr-in-unreal-5-1/683210>\
**Category:** Blueprint\
**Tags:** unreal-engine, UE5-0, Blueprint, question\
**Created:** [November 3, 2022, 11:08am UTC](https://forums.unrealengine.com/t/puzzle-vr-in-unreal-5-1/683210 "2022-11-03T11:08:46Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ricknoble](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ricknoble](https://forums.unrealengine.com/u/ricknoble)\
**Post date:** [November 3, 2022, 11:08am UTC](https://forums.unrealengine.com/t/puzzle-vr-in-unreal-5-1/683210/1 "2022-11-03T11:08:46Z")

</div>

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](https://www.youtube.com/watch?v=djyYVvTCAJI)

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! 😀

---

<div class="post-metadata">

**Author:** ![Astrotronic](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/astrotronic/32/1194566_2.png) [@Astrotronic](https://forums.unrealengine.com/u/Astrotronic)\
**Post date:** [November 7, 2022, 10:50pm UTC](https://forums.unrealengine.com/t/puzzle-vr-in-unreal-5-1/683210/2 "2022-11-07T22:50:20Z")

</div>

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](https://www.youtube.com/watch?v=C98Dyx8h-H0) the grabbing system in the new template.

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

---

<div class="post-metadata">

**Author:** ![ricknoble](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ricknoble](https://forums.unrealengine.com/u/ricknoble)\
**Post date:** [November 10, 2022, 10:39am UTC](https://forums.unrealengine.com/t/puzzle-vr-in-unreal-5-1/683210/3 "2022-11-10T10:39:20Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ricknoble](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ricknoble](https://forums.unrealengine.com/u/ricknoble)\
**Post date:** [November 10, 2022, 1:48pm UTC](https://forums.unrealengine.com/t/puzzle-vr-in-unreal-5-1/683210/4 "2022-11-10T13:48:56Z")

</div>

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 😅

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

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/3/e/13efdce4ef02c7a9ae430b2c42a36866b540a999.png)

---

<div class="post-metadata">

**Author:** ![Yeetyourveg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Yeetyourveg](https://forums.unrealengine.com/u/Yeetyourveg)\
**Post date:** [November 13, 2026, 7:06am UTC](https://forums.unrealengine.com/t/puzzle-vr-in-unreal-5-1/683210/5 "2026-11-13T07:06:32Z")

</div>

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!

* * *

 ![Screenshot 2026-11-13 150100](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/b/a/1ba0201231c2bd451878b67979287cd444d08915.png)

 ![Screenshot 2026-11-13 150122](https://d3kjluh73b9h9o.cloudfront.net/original/4X/f/1/a/f1a7da5927b65407ffe39a45859d4e130359cd8b.png)

 ![Screenshot 2026-11-13 150110](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/8/c/18ce2db1783f33542728ebbe3ef60bc949caf5a2.png)

* * *
