MSS: Modular Snap System Plugin

**Snap Actors in Editor by moving them close to each other. **

**Marketplace $9.99 **

Modular Snap System (MSS) Editor Plugin allows you to easily snap and align Actors together by simply moving them close enough to each other. Especially useful for working with modular assets without worrying about grid, pivot and alignment. Works with any Actor that has Static Mesh, Skeletal Mesh or Spline Components. Existing meshes can be easily prepared for use with the system. You only need to add some sockets, no coding or BP modification required.

NB: This is an Editor Plugin, for In-Game version check MSS Runtime Plugin.

Basic concepts tutorial (v1.2):

Ver. 1.3 With Spline support. Overview and news features:

Long tutorial about why and how to use MSS with third party assets:

More videos:

Documentation

**Support: this thread or inugamesshop@gmail.com

Ready to use sockets for third party asset packs**
If you have one of those packs, you can easily start using it with MSS right away. Download the socket file then in the Content Browser, select all the static meshes in the pack, right click and choose “Snap System>Import Sockets…”. More info.

Unfortunately, during unreal forum migration all the attachments were lost.
I re-uploaded the first one but the others are gone :frowning:

If you made sockets for an existing asset pack you can export them and post in this thread, I will add them to the list.

Version history

v1.5.0 [Apr 6,2022]

v1.4.9 (Jun 1,2021)

v1.4.8 (Mar 1, 2021)

  • ISM/HISM support

v1.4.7 (Aug 8, 2020)

  • Fix for DPI scale bug

v1.4.5 (Feb 26, 2020)

v1.4.4 (Feb 19, 2020)

  • “Snap open only” will only consider components from Target Component Classes as blockers. This prevent stuff like blocking volumes affect the plugin.
  • Any component with a component tag “nosnap” will be ignored by the plugin, even if it contains sockets.

v1.4.3 (Apr 3, 2019)

  • Copy-paste sockets, 4.22 compatibility (read more)

v1.4.2 (Feb 4, 2019)

  • “Snap Open Only” option (tutorial)
  • Various fixes. Read more here

v1.4.1 (Jan , 2019)

v1.4 (Oct 19, 2018)

v1.3 (Sep 17, 2018) Bug fixes and new features (overview video):

  • Show sockets
  • Ignore socket name
  • Snap rotate
  • Snap scale
  • Ignore socket parameters
  • No snap back
  • Hold to skip snap
  • Snap Components
  • Skeletal mesh support
  • Snap splines
  • Snap spline end-points

v1.2 (July 23, 2018)

  • Compatible UE 4.20
  • Socket polarity (tutorial)
  • Snap directly after dragging from the content browser
  • Fixed incorrect pivot for groups and multiple selection

v1.1 (June 15, 2018)

  • Supports attached actors hierarchies and child actor components.
  • Supports snap and attach actors, can be customized for each snap point.
  • Supports moving selection pivot to the snap point.

v1.0 (May 31, 2018)

  • Snaps Actors by using named snap points defined using sockets.
  • Only snap points with compatible names will snap.
  • Don’t attach actors to each other, but simply moves/rotates them.
  • Works with any Actor class or blueprint that owns at least one static mesh component.
  • Supports snapping multiple selection and groups, will snap all selected actors as one.
  • Supports stepped rotation around snap point forward vector, can be customized for each snap point.
  • Supports attaching actors to the target parent.
  • Settings like minimal snap distance, angle, rotation snap etc. can be modified in editor.
  • Viewport button to easily enable/disable the plugin (near snap to grid button).

Going to keep an eye on this :slight_smile:

Modular Snap System is available now on the marketplace.

Another video: Building Japanese modular house from modular assets that we made.

Yet another video: Using @Luos Free Caves Assets with MSS

New version V1.2. Waiting for 4.20 to release.

  • Fix incorrect pivot for groups and multiple selection,
  • Add immediate snap for assets dragged from content browser,
  • Add Socket polarity (video below)

Also, MSS is now free for modular asset creators. If you sell modular assets on the Unreal Marketplace and you are interested please PM me.

And couple more videos. Speed Building ft. @PolyPixel3D Freebie Pack:

Part 2

and Socket Polarity tutorial (v1.2):

And with that I’m out of free modular assets for making those tutorials. If you make modular assets you can send me some so I can make another tutorial and show you how it work.

Modular Snap Plugin v1.2 released on marketplace (July 23, 2018)

  • Compatible UE 4.20
  • Socket polarity (tutorial)
  • Snaps directly after dragging from the content browser (see for example this video)
  • Fixed incorrect pivot for groups and multiple selection

2>D:/Program Files/Epic Games/UE_4.19/Engine/Plugins/Marketplace/ModularSnapSystem/Source/SnapSystem/Public/USnapSystemSettings.h(22) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
2>D:/Program Files/Epic Games/UE_4.19/Engine/Plugins/Marketplace/ModularSnapSystem/Source/SnapSystem/Public/USnapSystemSettings.h(26) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
2>D:/Program Files/Epic Games/UE_4.19/Engine/Plugins/Marketplace/ModularSnapSystem/Source/SnapSystem/Public/USnapSystemSettings.h(33) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
2>D:/Program Files/Epic Games/UE_4.19/Engine/Plugins/Marketplace/ModularSnapSystem/Source/SnapSystem/Public/USnapSystemSettings.h(39) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
2>D:/Program Files/Epic Games/UE_4.19/Engine/Plugins/Marketplace/ModularSnapSystem/Source/SnapSystem/Public/USnapSystemSettings.h(43) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
2>D:/Program Files/Epic Games/UE_4.19/Engine/Plugins/Marketplace/ModularSnapSystem/Source/SnapSystem/Public/USnapSystemSettings.h(49) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.

I get these errors when trying to compile my project through visual studio c++. I have had to disable the plugin to be able to compile. What do you recommend?

Fixed. I will submit the fixed version to the Marketplace soon, but if somebody need the fix right now please message me.

Btw, it’s strange that both me and Epic could compile the plugin without problem despite the bug. Something wrong in the build system maybe?

Quick Query
Will this work with a spline actor that has a static Mesh at start and end… that could have sockets ?
When snapping can the initial rotation be applied from the snap to point ?

Regards

Paul G

Do you mean SplineMeshComponents? Current version will only work with StaticMeshComponents on both sides. But it would be pretty easy to add other types of components too. I actually planned to add them later, I may also do it right now.

Can you explain what kind of setup do you have, how your spline actors are made and how you want to snap them?

Hi
I have a pretty efficient railway track set BP that has
a spline component,
Instanced static mesh sleepers and chairs correctly distrubuted.
A spline mesh component to produce the rails
A static mesh component that is start and end geometry… these at present are the rail joining fishplate
s, (they are components not child actors)
I wish to snap the ends of the splines to sockets on various static mesh actors, points etc

Thanks Paul G

https://forums.unrealengine.com/filedata/fetch?filedataid=144161&type=thumb

Just purchased and tried with snap sockets on the start and end geometry and it does not snap at the moment,
I will try a few things, being able to snap splines would be very usefull for roads stairs ballustrading etc etc.
(snapping static meshes works fine altough editor performance is taking a bit of a hit)

Cheers

Paul G

> tried with snap sockets on the start and end geometry and it does not snap at the moment,

Fixed, the sockets was simply named incorrectly (should have same prefix to snap).

Nev version v1.3 (Sep 17, 2018)

Including bug fixes and new features:

  • Show sockets
  • Ignore socket name
  • Snap rotate
  • Snap scale
  • Ignore socket parameters
  • No snap back
  • Hold to skip snap
  • Snap Components
  • Skeletal mesh support
  • Snap splines
  • Snap spline end-points

Hello, i bought your plugin but it seems that i have a problem with socket snapping not working all together. It worked in earlier versions even with the standart socket snapping (Shift click on Socket) inside the viewport. Since your plugin isn´t working too, i guess the whole socket function is broken ? Can you please confirm that Unreal Engine Version 4.18 and 4.20 has this problem for you too ? I need this socket snapping feature and your plugin would be a real time saver but i am very afraid that it will take too long for Epic games to respond to this problem if it is just me noticing it. I ruled out all problems that would come from just using it wrong or forgetting something before posting - so please don´t take the dumbest assumable user routine on me. If there is no extra setting hidden somewhere for socket snapping that i can´t know off - well i don´t know what to say then. Thanks in Advance

@Glutamatkrieger Unreal’s standard “Snap to socket” kinda works for me. When I enable it, select an actor then shift-click on other actor’s socket it will attach first actor to the second. But it will not move the first actor at all. Actually, I think it always worked this way for me. I never figured out how to actually “snap” things with this feature. I tried with and without my plugin, it works the same.

Do you also have problem snapping things with my plugin too? Does it work with the example project? If it doesn’t, can you post the screenshot of the plugin’s settings and of the meshes you use. I want to see socket’s names and locations.

More or less dumb things I would check:

  • is the plugin loaded/enabled (is there a little orange “S” button on the viewport near snap to grid)
  • are there sockets on both meshes you try to snap
  • are socket names match (prefix before the first “_” in the name, like “Socket_0” and “Socket_1” will snap, “Socket_1” and “xyz” will not). This can be disabled by checking “Ignore socket name” in settings
  • Meshes should have collision primitive and collision should be enabled, at least “query”.
  • Do sockets you try to snap are more or less facing each other? X-axis of them should look each other. (See “Max Angle” in settings)
  • Is the “Search Dist” parameter too low?

@scha , your plugin isn´t working / partly working but here are some very strange things to observe. I migrated your Shape_Pipe to 4.20 - this is working with your plugin so succes on that. Then i copied the standard unreal cylinder and placed a socket .

Doesn´t snap. The thing is, it would be more than enough that your plugin is working, but this was all that was needed to have socket snapping before this weird problem occured. I really don´t know whats happend with socket snapping.

@scha the standart snapping feature worked like this before and it was great ( your plugin just speeds this process up a lot and has other useful features) :

@Glutamatkrieger Turn the socket 90° around green axis, red arrow should look up. Check how it is defined on the mesh from the example.

All tested, i even converted your pipe to another static mesh and double checked that is is the same setup as yours. Your mesh works, mine don´t. And this steps are dumbest assumable user steps. Sorry i sound bitter, i know the procedure of having bugs that can´t be explained easy and won´t be resolved in time and i am depending on that feature. You either get ignored, shamed (branded as dumb or noob) or nobody cares. Like is said, if there isn´t a magic button that i don´t know off, i don´t know what to do.

Also tested, no joke. Even triple checked now after you told me to.