MSSR ★ Modular Snap System Runtime Plugin

MSSR is a plugin that allows for automatic snapping of actors to each other in game.

Marketplace

Status: v1.1.6 published April 1, 2023

Useful for:

  • In-game building systems: player built houses, furniture, roads, railtracks, racetracks, bases, spaceships, fortifications, …
  • 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”, …
  • …?

Download example projects / tutorials / playable demos
Includes playable demos for the tutorial, VR, multiplayer and some more, and project files for all of them.

Videos:

MSSR detailed presentation (project files available here)

Super short tutorial: making a builder pawn in 45s! :)))

Serious version of the tutorial above.

How to make MSSR plugin see and snap your meshes.

Example of use, our entry for UE4 Spring Jam, download here

More videos: Video devlog on youtube.

Features:

  • 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.
3 Likes

First implementation! Making some maze-like game using physics handles and MSSR.

I just followed a physics handle tutorial and added the snapping. All the snapping is done with just one node:

wow!!! When can I buy it at the market place?

Soon! Subscribe to this post to receive updates.

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.

Smooth snap: just an interpolation

Tracking: try to snap for few seconds

New feature “Check if connected” implemented.

Devlog #5. Space building system, first iteration. I think I’ll upload that as playable demo.

Space building continues!

Added snap preview indicator (green) using another “snap query” and some lerps.

Here to say that I am extremely interested in this plugin!!! Awesome work!

Can’t wait for this to come out.

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

Do you know when you’ll have this available on the marketplace?

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.

Another example of use, for ue4 jam

Great feature. Can’t wait for this to come out. When can I buy it at the market place?

I’m working on it right now. I will post updates here, you can subscribe to this thread.

Preparing MSSR Plugin for the Marketplace. Did some code cleaning and commenting. This is the BP API so far, pretty small.

I’ve been looking for this type of plugin for a long time so I’m really excited for the release.

Can this be used for VR projects as well or would that take some modification?

Some more progress https://twitter.com/games_inu/status…97682415558659

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?

With VR it basically just attaches the actor you pick up to the controller component and then detaches the actor when let go, so I would assume it should work no problem.

As far as emulating VR with mouse and keyboard, I don’t think there are any tools to do that.

I’ll let you know how it functions in VR once I can get my hands on the plugin