Modular Snap System (MSS) Editor Plugin allows you to easily snap and align Actors together by simply moving them close enough to each other. 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. Just add some sockets, no coding or BP modification required.
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:
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
“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.
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. @PolyPixel3DFreebie 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.
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?
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 ?
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
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)
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)
@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) :