BetterSnap plugin - Model and Part smart snapper tool

Hi Guys!

Today I have released my new, tiny plugin, BetterSnap.

This is a smart tool to snap parts, models, attachments etc. together while you build your experience in Studio.

BetterSnap is your helping hand to snap objects in your game workspace.
No GUI comes with the plugin, simply turn it on/off in the ‘Plugins’ ribbon page.

BetterSnap adds some control points to the selected object (part, model, attachment) in a way like this:

image

When another part/model/attachment is in nearby, you can simply click on BetterSnap’s snapping arrow to snap (move) the selected object to the target object.

The plugin marks the best matching points with orange.
The plugin will automatically select the controlpoints.

  • on the selected object: the point closest to the camera
  • on the target object: the point closest to the selected object’s best control point

Both points must be on the screen (or the plugin tries to find new points as above mentioned).

I hope you’ll like this smart tool!
The plugin is free until 31/08/2022.

Features to be added later:

  • control lines (so objects can be arranged in line without snapping them together)
  • GUI to change some parameters (if users tell it is important)
  • adaptive arrow sizing (for closer / smaller objects)
  • manual object selection (by this it won’t be a small plugin any more, but maybe it is an important feature)

A short YouTube tutorial is in pipeline too.

If you like it, please give it a like!
May you find any issue or just want to share your thoughts, please add a comment below!

Check out my plugin collection!
For builders I suggest [NAAP] and [AutoCloner]

Cheers,

13 Likes

Very interesting project and plugin. I can see loads of builders buying this. Maybe adding a feature to rotate the part along a specific corner would be cool.

3 Likes

Ty, great idea! Once I add the manual controlpoint selection, it will be a good feature to be added, I keep it in my mind!

Just asking but whats your method for grabbing all the corners in such a way? Are you simply just using some math to grab all the corners?

Hi,

(While I wanted to answer your question I have found a small bug (control points were not positioned properly while resizing). I fixed it, pls update the plugin!)

And about the corners: I use SphereHandleAdornment objects that have CFrame property. When CFrame is 0,0,0 it is in the middle of the object, while 1,0,0 is one step on the X axis (locally) and so on. The math is quite simple in this way to grab all the points.

The world position of the control points are simply object.CFrame * controlPoint.CFrame

(A bit different for attachments, but the same logic).

Points have to be re-positioned when you resize the object, but they move automatically with the object, so no need to calculate too much while editing the workspace.

The only problem is that if I want to split each side by 10 control points, it would generate 10x10x10 points in one object, that is too much and very laggy. I had to decide to keep it on corners and 1/2 points of the sides only.

I hope this is what you asked :slight_smile:

v0.92 update:

  • Fixed: Roblox Studio CoreGui error messages when clicking on snap arrow
  • Fixed: Control points were not properly re-positioned while resizing the object

Wow, thats a really interesting trick. Ive always used vector math to grab corners lol.

local part = game.Workspace.Part

local lowerRight_RightCorner = Vector3.new(part.Position.X - (part.Size.X/2), part.Position.Y - (part.Size.Y/2), part.Position.Z - (part.Size.Z/2))

I’m not sure if it works with rotated objects, anyway, it’ ok :slight_smile:

Hi Guys!

After dozens of free installations, BetterSnap plugin becomes a paid solution soon.
Please note that the plugin is free until 31/08/2022.
From 1st of September it will cost 100 Robux (the minimum price of any paid plugin).

Ty for understanding!

2 Likes

Hi, sorry about the bump, but does this work on unions/meshes?