Snapping helper plugin

Marketplace page
Documentation
Facebook

The tool allows you to quickly change the pivot point of the selected actor (s) and use all types of transformations. All vertices around the mouse cursor on the supported geometry will be highlighted. In one click, you can pull actors to each other, or create a duplicate and pull it.

Technical Details

Version 1.4:

  • Increased tool stability

Version 1.39:

  • Fixed incorrect snapping behavior
  • Fixed flickering of highlighted vertices
  • Reduce redundant vertex iterators
  • Increased stability of async logic

Version 1.38:

  • Added macOS support

Version 1.37:

  • Fixed Non-Unity compilation
  • Fixed incorrect behaivior with multiple viewports
  • Fixed incorrect buttons style

Version 1.35:

  • An overview of the update can be viewed in the Demonstration
  • Added preview of selected objects. Now the result of snapping will be more visual. Can be customized or disabled in the settings
  • The default pivot point position can now be set via the context menu
  • Added distance limit beyond which vertices will not be highlighted and will not be available for selection. Can be customized or disabled in the settings
  • If several objects have vertices in the same place, those objects that are already selected will have priority

Version 1.32:

  • Improved stability

Version 1.31:

  • Updated code to match UE5 Preview 2. All implementation steps need to be done again after updating the engine to UE5 Preview 2

Version 1.3:

  • Added UE5 support
  • Improved stability

Version 1.2.1:

  • Improved stability during asynchronous tasks

Version 1.1:

  • Fixed an issue with incorrect behavior when creating a new actor from the content browser

Features:

  • Fast and easy to learn
  • Highlights vertices on a geometric mesh
  • Temporary change of pivot point in one click
  • Support for all types of transformation at a temporary pivot point
  • Snapping actors from vertex to vertex in one click
  • Creation of duplicate actors with snapping in one click
  • In 2D snapping mode pull on one of the axes is ignored
  • Adapts well to different screen resolutions and DPI scale
  • Does not degrade editor performance. All work is done asynchronously on the background threads
  • Customization of the user interface
  • Work with static mesh, skeletal mesh and brush actors

Number of C++ Classes: 13
Network Replicated: Not used
Supported Development Platforms: Windows 32/64
Supported Target Build Platforms: Not included in the build

3 Likes

Hey @usefulcode,

Got an idea of feature : Do you think it’s possible to add a “scale to vertex” option ?
Like Scale on axis X/Y/Z to this vertex.

Thanks !

2 Likes

Hi. This is an interesting idea. I will definitely think about its implementation.

1 Like

Hi. Under UE5 I’m getting this error when compiling my C++ project after adding the plugin as described above:

VertexIterators.cpp(11): [C2248] ‘UStaticMesh::RenderData’: cannot access private member declared in class ‘UStaticMesh’

1 Like

Hello. Try installing the plugin first on version 4.27 and using its source files.

Request:
Is it possible to add ScaleSnapping? Currently I am using your Plugin for blocking out the map. Using basic Shapes. Would be an great timesaver If in addition to location snapping, the pivot point could also do scale snapping. For example holding Ctrl+Shift+Alt in scale mode.

will be grateful!

1 Like

Thanks, that’s a great idea. I will definitely try to implement it.

Looking forward to this feature :dizzy:

Implementation instruction for UE 5:

Make sure the plugin version is not older than 1.31

Install the plugin for UE 4.27
In your project create a folder called Plugins
Go to /Engine/Plugins/Marketplace/ and copy the folder called SnappingHelper into /Plugins folder you just created
In /Plugins/SnappingHelper/ delete folders Binaries, Intermediate and file SnappingHelper.uplugin
Extract archive into /Plugins/SnappingHelper/
Please let me know about any implementation difficulties.

SnappingHelper does not seam to be working with preview 2

Thanks for the info, I’ll fix it asap.

Archive updated. Please follow all the steps in the instructions to get the plugin working again.

Thanks, working fine.
Btw, what is the 2D button’s function?

In this mode, snapping occurs only along two axes. For example, if top view is enabled, then Z-axis movement will not be performed during snapping. You can watch a video example here

1 Like

HI!
First of all all thank you for this amazing tool. Its very helpfull.

Maybe you could help me with random crashes when Im clicking “3D” button/switcher ?

"Unhandled Exception: EXCEPTION_ACCESS_VIOLATION writing address 0x00000000000001a8

UE4Editor_SnappingHelper!FSnappingHelperModule::ActivateEdMode3D() [D:\build++Portal\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\SnappingHelper\Source\SnappingHelper\Private\SnappingHelper.cpp:195]
UE4Editor_SnappingHelper!TBaseRawMethodDelegateInstance<0,FSnappingHelperModule,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\RocketSync\4.26.0-14830424+++UE4+Release-4.26\Working\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:469]
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_UnrealEd
UE4Editor_LevelEditor
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_ApplicationCore
UE4Editor_ApplicationCore
UE4Editor_ApplicationCore
UE4Editor_ApplicationCore
user32
user32
InkObj
atlthunk
user32
user32
UE4Editor_ApplicationCore
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor
kernel32
ntdll"

Thats my crash log.
Looking for help

Thanks for the feedback and the report. It’s unfortunate that you’re having crashes. If you answer the following questions, it will be easier for me to understand their cause.
Are you using engine version 4.26?
Have you updated the plugin to the latest version? Does the crash happen when you click on 3d mode with the mouse or use a hotkey?
Do you have any other third-party editor extensions installed? If yes, then try disabling them and see if the crash is reproduced.
Thanks.

-4.26
-hotkey and mouse click
-no third party editor
But I’ve created new project and its working like a charm. probably I had too much rubish in my content browser :slight_smile:

1 Like

Thanks for answers. I found the place where you are having a crash. I will upload an update for the plugin soon.

I am trying to install Snapping Helper into a project which was begun with UE5 Preview 2, in which the plugin worked fine, following the above manual installation instructions. Opening this project in UE5, I get these two errors:

The following modules are missing or built with a different engine version:

Snapping Helper

Would you like to rebuild them now?

Clicking Yes gives this following error:

‘BedroomRefurb’ could not be recompiled. Try rebuilding from source manually.

I did. I reinstalled using those instructions, from the Snapping Helper folder in UE 4.27.2 and then the plugin archive. But the same error happened.

Not sure what has gone wrong here. Can you help please?

Thanks.

Greetings. Along with the official release of UE5, the tool is now installed in the usual way via the Epic Games Launcher. Just remove the plugin from your project folder and install it for the engine.