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)
Based on predefined snap points implemented using standard unreal’s sockets (same as the MSS, so also inherits various others MSS features).
Works with static meshes, skeletal meshes or any other type of actor supporting sockets, also works with splines.
Code plugin. Can be used with blueprints or code.
Should integrate with geme’s object placement, movement and selection systems (i.e. how objects are selected, moved by the player in game); also provides example implementation for those.
First person, third person, top view, VR, multiplayer.
Dev log #2. Implemented “smooth snap” behaviour. Instead of snapping instantly, it will do a lerp from the old transform to the new one. You can see examples with various rotations and also scale.
The “SnapActors” node was upgraded, and now it allows for just testing if the snap is possible:
If the snap is possible the “Result” output contains the source and target sockets, corresponding components, and also the array of new actors transforms that the user can then apply or not. In the video I take old and new transforms and smoothly interpolate between them. I’m thinking of putting a playable demo of this level somewhere.
Spent most of the time cleaning and organizing stuff. Implemented a “tracking” feature in BPs, once the tile is launched it will track (i.e. try to find snap points around) and attach if one is found, or just fall.
Implementation (in the cube BP):
Snap itself: test if can snap then initialize smooth transform change.
Yep I could use a runtime version. I want to enable my players to outfit their houses with interior walls and this plugin was very helpful when I designed the houses, but for runtime I was about to write my own stuff. If you could make this usable during play that would be extremely helpful to me
Sorry, I missed the message. We have another project to finish (almost finished), then it will be the turn of this one, so I hope we can submit it soon.
Thanks! I think it can work in VR, my problem is that I don’t have any VR myself so I can’t tell for sure. If I understand correctly how the VR work, you have a component representing your hand and you move objects with it, right? In that case it’s not different from holding the object with a physics handle, so I think it will work alright. Is there any VR controls emulator you can use with keyboard and mouse?