MSSR ★ Modular Snap System Runtime Plugin

Smooth snap between moving physical actors.

I was just about to tackle something like this myself for my project. Now I think I will delay implementation of my solution to see if this here comes out in time. I bought your editor version and I am really eager to get this one too. Any estimate as to when we can expect this?

Thank you. I’m a little bit afraid to give estimates :slight_smile: Before I said it’s coming soon then something else happens…
My self-imposed deadline this time is to submit before the end of this month.

Thanks, I’m really eager to get it, I’m looking forward to it :slight_smile:

Few more videos. Pre-built structures (look at 0:14 and 1:04)

and a little in-game editor, supports multiple selection and attached actors

In first version there will be:

  • Snap related BP nodes (Snap, SmoothSnap, is connected etc.)
  • Auto Preview actor (the green transparent thing)
  • First person pawn, like for building houses
  • Third person pawn, like the “editor”
  • Plus some materials and meshes

BP nodes are C++, the actors are BP, so one can take it as base and modify easily.

I’ve just made a little demo level, download here MSSR Examples by Inu Games
Posting for feedback.

In this level the search for snapping point and connections is made using the plugin, the rest is in the player pawn, it’s not part of the plugin per se.

There are simulated and kinematic actors. When snapping them together the strategy is as follows:

  • if the target is simulated then the snapped actor will be made simulated too and attached with “weld simulated bodies” option enabled, so chains of actors are formed this way.
  • if the target is kinematic the physics on the snapped actors will be disabled too.

Holding of actor is made with a physics handle. When user click on an actor we will grab the top most parent of the actor, unless the shift is pressed, in which case we will detach a weld actor from it parent.

Check it out!

Tried out the demo and it’s made me even more excited for the plugin.

My only question is about the “bridge” parts. When you snap a cube to the base in order to build the bridge, the scale of the cube morphs to match the scale of the base. Is this a feature that can be toggled on/off in the blueprints?

Thank you for trying it! I really want some feedback before publishing it.

It’s a feature, called “scale snap”, that can be turned on and off, as you want.

Basically, there is a parameter that enables or disables it per axis. It can be specified as a global, or per connection point, so you can say ‘I want cubes scale to match the other side, but the pipes should keep their original scale’. Now the scale is something kinda tricky in UE, always local, so use with care!

There is also rotation snap that works the same way, you can specify it globally or per snap point, for each axis. By default Y,Z are fixed and X snaps at 90° increments, so for example if you try to connect the bend pipe to another one you have 4 possible rotations that will work. You can also disable it and just snap locations keeping the original rotation of the mesh.

Let me know if you have other questions, so I know what I should explain when I do documentation.

For the purposes of the VR game I have in mind, I would be disabling the 90° rotation snap feature and just let the rotation stay as-is when snapped. I really like just how customizable and flexible this plugin will be.

Here’s another question for you.

How would the plugin handle multiple snap points being detected simultaneously with the rotation snap off?

Example (image attached):

Let’s say I have some rectangular floor tiles that are 1x2 and they have 6 snap points that align to a square grid. The green dots would be the socket snap points and the transparent green circle is the trigger zone. Would something like this end up in both of the sockets that are being triggered to be snapped together, ultimately aligning the two parts as if the 90° snap rotation was on?

I kind of see something similar happening in the demo when I place the last piece of the tube in its place completing the tube, but is it snapping to both sides or just one?

Pipe is snapping to the nearest pipe. It’s always one snap point to one. But you can override global rotation alignment rules per snap point too.
About snapping to 2 points, I kinda was thinking about something like that, but we managed to build our Japanese village demo level without, so I never really tried to implement it.
I will submit the thing now then we can see what can be improved, otherwise I will never finish :slight_smile:

90° rotation snap doesn’t work like that. I made a little video to explain:

I had an idea. Once I submitted the plugin I will make an interactive tutorial where people can change those settings and see which effect they have, like content examples.

I hope I will manage to submit tomorrow. Everything compiles for UE4.20-UE4.22. I started to fill in the submission form.
Let me know what you think of my marketplace page content

Description

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.

Watch videos (TBD)

Download demo (TBD)

Useful for:

  • 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…

Technical Information

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 implementation is provided
  • Can be used in first person, third person, top view, VR
  • Easy to use, contains automatic preview actor and helper nodes for smooth snap

Also made a logo:

Logo-copy.png

They also ask to submit screenshots, I’m not sure what screenshot I can make for a plugin like that

Here are some ideas for the screenshots I pulled from the demo. Feel free to use them if you want.

Thank you Wolfgang! I think I will do something like that.

I will make the example level with the usual content examples rooms and use that for screenshots.
It looks better than the default material and also there will be already the text in the level.
It usually takes them some time to start reviewing, so I can submit now an make the exmaples/screenshots during this time.

Submitted!
Now I will start doing the content example level.

(PS: the editor version of mssr is at 50% right now)

Working on the demo level

I’m standing ready with my wallet, but for what version will it be? I’m trying to update my project from 4.20 to 4.22 and Unreal crashes right and left, I am about to end my update history with 4.20 it seems, when Unreal has become so buggy that it can’t even load a project anymore, so unless your plugin will compile with 4.20 I can’t use it :frowning:

Thank you! I submitted 4.20-4.22, actually that’s the rule of the marketplace, last 3 versions. I think I can add 18 and 19 too if somebody need it.

Hej . When Your plugin “work in game” will be available in Unreal marketplace? Currently I stopped my project because I’m waiting for it so much… :wink:

Tutorial progress: first 2 rooms done! Download here: MSSR Examples by Inu Games

Are those examples with cubes okay or I need to make something more realistic, like houses with doors and stuff like that?
Won’t people think “Meh It’s just cubes”?

I personally think the cubes get the point across. Plus you have the pipes later on that show different shapes so I think it’s good. You could add some house parts to be extra redundant just in case but I don’t think it needs it. I really like the tutorial so far.

I keep checking the marketplace at least twice a day waiting for it to show up so I can buy it already haha.