Snapping helper plugin

Thank you! I came back to post that I had realised my mistake and was about to say so. But thanks very much for your prompt reply. I was dreading this project without Snapping Helper, but it’s all fine.

1 Like

I need this plugin for my project which is currently in 4.24. I’ve tried countless times to update my project to a new version to no avail. Would it be possible for me to buy this plugin, and prove to you that I bought it, would you be able to send me a 4.24 version?

Greetings. No problem. I will send you the link in a private message.

SnappingHelper does not seam to be working with 5.01

Sorry, it seams to be just one specific project with the plugin folder. Working fine else.

1 Like

Please consider adding the info, that you need to enable “realtime” in order to use the plugin :smiley:

Regarding the plugin “not available” thing. I just had to wait a little until it showed “install to engine”.

edit: Now it works without “realtime”. Hm, but the yellow dots were not visible before I once enabled realtime^^

1 Like

Thank you friend. I am very pleased that you wrote to my support under the negative reviews. I appreciate it very much :+1:

1 Like

@UsefulCode Purchased your snapping helper yesterday, thanks for making it available.

1 Like

Great plugin that helps me a lot!

One feature request of mine would be a “snap and rotate” alternative. Say you are building a wall that is angled 20 degrees. Right now to place a new wall piece you have to do two actions: snap the new piece to the existing wall and rotate it matching the rotation of the piece it was snapped to. It would be great if it could be simplified to a single snap and rotate action.

1 Like

Thanks for the feedback. I have already received many requests to add support for snapping for rotation. This is number one on my list of improvements. I will try very hard to implement this as soon as possible.

1 Like

Thank you so much for this, it’s a fantastic and absolutely necessary plug-in for level builders and artists alike!

We have started using the plug-in with UE5 recently and love it, but we ran across an issue where rogue vertices are being recognized by the plug-in and we have no idea why. These verts are not present in the actual mesh or the collision, so we’re confused as to what is going on there.

Any ideas or notes?

1 Like

Hello. Thanks for the feedback. I have a few assumptions about your problem. The vertices are read from the original geometry and if the mesh has been changed, for example with the shader, then we will see one thing with our eyes and the tool another. Also, a similar discrepancy is possible on skeletal meshes, since the vertices are read from the T pose. If your case does not match the described ones, I would be grateful if you could send an archive with a project with a problematic geometry. Thanks.

It seems like this happens with physically larger meshes more than others (~10m+).

Unfortunately I can’t send over the project file but your thoughts give good insight into what could be happening. Thank you for the quick reply, I really appreciate it. And again, fantastic work!

1 Like

Is there some way I can purchase this plugin as a gift for a friend? I already own it, but I’d like to give it to my friend, but I don’t see a way to purchase as a gift in the UE marketplace. Thanks!

1 Like

Hi, thanks for the question. I think you need to contact Epic Games support. I’m sure they can help.

My editor crashes, and the generated report is pointing to SnappingHelper.
I am using UE5.1 source build. I install Snapping Helper but I am not using it.
This situation happened several times.
I just saw that in question page of marketplace there is a user with the same problem.
When I press F11 to get to full screen, the editor crashes.
@UsefulCode

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000

UnrealEditor_Engine!AActor::PostEditUndo() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\Engine\Private\ActorEditor.cpp:742]
UnrealEditor_UnrealEd!FEditorViewportClient::IsPerspective() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Editor\UnrealEd\Private\EditorViewportClient.cpp:1647]
UnrealEditor_SnappingHelper!FSnappingHelperModule::Is2DModeCheckBoxEnabled() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Plugins\Marketplace\SnappingHelper\Source\SnappingHelper\Private\SnappingHelper.cpp:86]
UnrealEditor_SnappingHelper!TBaseRawMethodDelegateInstance<1,FSnappingHelperModule const ,bool __cdecl(void),FDefaultDelegateUserPolicy>::Execute() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:459]
UnrealEditor_SlateCore!SlateAttributePrivate::TSlateAttributeBase<SWidget,bool,SlateAttributePrivate::FSlateAttributeNoInvalidationReason,TSlateAttributeComparePredicate<TEqualTo<void> >,0>::FSlateAttributeGetterWrapper<SlateAttributePrivate::TSlateAttribute() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Public\Types\Attributes\SlateAttributeBase.inl:587]
UnrealEditor_SlateCore!FSlateAttributeMetaData::UpdateAttributesImpl() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Types\SlateAttributeMetaData.cpp:492]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::SlatePrepass() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:692]
UnrealEditor_Slate!SScaleBox::CustomPrepass() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\Slate\Private\Widgets\Layout\SScaleBox.cpp:91]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1704]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1711]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [C:\Codes\GitHub\UnrealEngine_Epic\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1770]

Hi. I’m sorry that this crash interferes with your work Thank you for the crash report, I will check it soon.

1 Like

Hi, we are running into the same crash issue as @seejiajia. The repro steps in stock Unreal 5.1 are straightforward:

  1. Create a blank Open World level (maybe a normal level will work too, not sure)
  2. Start Play in Editor (PIE)
  3. Press F11
  4. Observe crash

Looking forward to the fix, thanks!

1 Like

Thank you. According to the described steps, I managed to reproduce the crash. Fix will be coming soon.

1 Like

Crash fixed. Please download the tool update in Epic Games launcher

1 Like