Modular Snap System Runtime (MSSR) is a plugin that allows for automatic snapping of actors to each other in game. Works with any mesh or actor, connection points are simply defined using standard UE4 sockets.
In-game building systems like player built houses, furniture, roads, rail-tracks, racetracks, bases, spaceships, fortifications, etc;
Puzzle games that require placing or connecting objects in certain way;
In game placement and moving of actors in general, like "put book on the shelf", "put the key into keyhole";
and more...
Features:
Based on the concept of snap points defined using standard Unreal's sockets
Works with static meshes, skeletal meshes or any other type of actor supporting sockets, also works with splines. Supports snapping of multiple actors
Highly customizable, settings can be adjusted for each snap point
Integrates with game's object placement, movement and selection systems (i.e. how objects are selected, moved by the player in game); example implementations are provided
Can be used in first person, third person, top view, VR, multiplayer
Easy to use, contains automatic preview actor and helper nodes for smooth snap
Allows multi-threaded search (good for performance)
Hey I need help setting this up. There is no documentation and all of your support links are broken, lead to 404 errors. I downloaded the example project but, I need more support. Does the SnapActor function work with any type? I need it to work with the Static Mesh that is within a GeometryCollection.
Hi, I’ll fix the support links thanks. They added comments on FAB and the link changed. I though they’ll put a redirect but no.
The plugin works with a lot of things that support socket API but I never tried that with geometry collections. Can you show me your setup, i’ll try to see if that can work
When trying to call functions from the MSSR blueprint function library in C++ i get unresolved compiler errors. I have the plugin and module references in my build.cs file, I have added MSSR_API to the function library class, I have no idea what is causing this.
Hi! It compiles on my side. I added MSSR_API to the UMSSRBPLibrary class and the structs, added the plugin to PrivateDependencyModuleNames in the build.cs, also in .uporoject, regenerated the project files and then this compiles: UMSSRBPLibrary::SnapActor(Actor, FSnapSettings(),true, T, Res);
Which is your target platform? If it’s Android, did you included it in AllowList?
Hi, I downloaded the MSSRExamples53 demo and ran the demo for Unreal Engine 5.6.
When you link together multiple objects and then try to tear apart various objects using Shift+Lclick, I get:
Assertion failed: (Index >= 0) & (Index < ArrayNum)
Array index out of bounds: 10 into an array of size 10
Hi! The plugin works with ISM/HISM, check the playable demo, there’s an example for that.
For replication: the plugin is replication neutral, it only searches for snapping points and return the snapping transform.There’s an example in the demo/example project for a mp game, check this please.
Hello, I just bought the MSSR and I’ve enabled the plugin in my project, but it doesn’t seem to be working. How do I get the plugin to work in my game? Or do I need to start with one of your templates?
Would you mink linking the documentation? The page that is listed says its no longer active and links to nothing. I really need documentation because I don’t even know where to start.
Also the project uses Action Mapping which is deprecated. This needs to be converted to Input Mapping Context to truly be UE 5.6 compatable. Do you have any plans to modernize the default controls?
“Parameters of the plugin can be accessed from Level Editor toolbar “Settings” menu or in “Plugins” section of Project Settings. Parameters are saved in EditorPerProjectUserSettings.ini config file.”
I have the plugin installed, but there is no parameter settings in my project settings/Plugins. MSSR isn’t even listed there. Any thoughts on how to fix that?
thank you for the answer - Just bought and have some questions about ISM;
How to actually manage instances in this BP runtime?
i mean to have separated dynamic snapping objects to utilize instancing
cause that BP count as 1 snapping mesh object and instances cannot be mopved runtime - Plugin (5.6) with demo 5.3++
Also there is a chance to add conversion if spawned that static mesh to switch dynamically to ism to be an instance applied inside that and if reached as example 100+ instances creating new ISM actor then?
All the best
i mean dynamically moving,apply and removing instances in the system that also can be snapped
Hi, I think I understand what you mean. You want to move and snap instances right? There’s no example like this where you move instances. Also the snap method also only accepts actors or components… Thinking about it, maybe you can create a temporary static mesh actor which you move and snap to other SMs or ISMs then when it’s released you update the ISM with the new instance transform? Something like that could work I think