Say hello to the new Lua dragger (Beta)

I disagree with your assessment of this as a “minor” improvement.

As someone that has been dealing with the C++ dragger since 2008, thank you.

50 Likes

Given the last update, I hope this is not april fools!

17 Likes

“Say Hello to the new Lua dragger”

Seriously though, I love when the clunkiness swiftly gets transformed into convenience (when it comes to tools).

Speaking of transformations, this is my reaction:

(I didn’t change genders though)

Is April Fools like the prime day for Roblox updates?! I mean seriously, we’ve had like 4 other update topics today! (I’m certainly not complaining!)

Awesome update, though!
Keep it up Roblox! :roblox::roblox_light:

Edit:
Oh my, I hope this ain’t another April Fools prank…

63 Likes

Looks like there are currently severe performance issues when moving the camera using the resize tool (my game has 94k instances under workspace), and the resize handles get a little bit confused when part orientation isn’t 0,0,0.

https://gfycat.com/AjarMaleEyas

Everything else works like a dream.

43 Likes

Will these tools be open source? seems like they would be handy for online building.

24 Likes

Yes, yes, YES! All the yes from me, we have been waiting for a better Dragger for years.

A few critical points of feedback from myself that I beg Roblox engineers look at:

Please add Planar Dragging to the Move tool:

I think this is enough of an industry standard at this point that Roblox has to add this to the default toolset, I really don’t want to have to hack the Move tool to allow this functionality.

Please have PluginAction support for everything, including the “Reusable Framework” hinted:

PluginActions are essential for a professional workflow and I really hope they get some love in future updates (including being able to set keybinds from a plugin).

Please consider the builder when designing the “Reusable Framework”:
https://devforum.roblox.com/t/why-are-new-studio-tools-plugins/387983/6

A lot of us aren’t professional scripters who can read and interface with Roblox’s open source Lua plugins. Please consider that the majority of users who would wish to manipulate this tool are in fact the builders, the people using it the most.

Thank you so much for this update @tnavarts and @LuckyKobold! You’ve made my week.

24 Likes

:scream::scream::scream::scream::scream::scream::scream::scream::scream:
These recent updates have definitely been on my side: a new dragger, precise collision boxes, bone importing (mesh deformation stuff), and the list goes on!!!

Keep up the great work :+1:

20 Likes

Absolutely! Check out C:\Users[user]\AppData/Local/Roblox/Versions/[version]/BuiltInPlugins and look for the .rbxm files with “Dragger” in the name. Those can be dropped right back into Studio to be edited.

25 Likes

Neither for now. It will continue to molder away in the corner where it currently sits for the foreseeable future. It will be effectively deprecated in that anyone wanting dragging behavior now would be much better served using the dragger framework the new draggers are based on, since that gives them full control over how dragging works.

Unfortunately this requires some pretty hefty changes to support. I am investigating some APIs that might make this possible but I can’t promise anything yet. In the long term Studio will have to support some form of Ribbon Bar customization, which would mostly eliminate the need for a special case like that.

We still have optimization work to do on these before they leave the beta. If you have any cases of surprisingly bad performance (ie, not dragging 10,000 parts with Join Surfaces enabled), you can DM them to me and I will investigate. Yours does sound like something odd is happening. Drag-selecting multiple parts in a very large place being slow is a known issue but simply moving the camera should not be.

They are open source! If you open your Roblox install you will find them in the BuiltInPlugins folder as Select/Move/Rotate/ScaleDragger.rbxm.

We are going to be making many further improvements to the building tools, and things like that are on the table. For now we didn’t want to make too many radical changes at once given that these tools are so fundamental to Studio, but we are certainly not done yet, far from it!

32 Likes

moving models used to be a nightmare
but this is good :smiley:

12 Likes

This is an insanely exciting feature. So many quality of life improvements when building or designing the world! I really love this new dragger, and I want to thank the entire team that worked on making this come true.

I wonder how the dragger will behave if you have a model (such as the chair used for demonstration) and try to align it to a wedge. Will it keep its rotation, or line up with the wedge’s surface? Which part of the model will it use as reference for the rotation (in case it does line up)?

Love all of it! Keep up the fantastic work.

20 Likes

This is great! Now I don’t need to swap to F3X whenever I’m trying to do anything on walls/ceilings. People will start taking the built-in studio tools a little more seriously, and I’ll probably be using them more myself since it avoids me having to open the plug-ins tab.

11 Likes

P̶r̶o̶b̶l̶e̶m̶ ̶1̶:̶ ̶V̶i̶r̶t̶u̶a̶l̶ ̶S̶u̶r̶f̶a̶c̶e̶ ̶a̶r̶e̶ ̶n̶o̶t̶ ̶w̶o̶r̶k̶i̶n̶g̶ ̶f̶o̶r̶ ̶m̶e̶ ̶a̶s̶ ̶t̶h̶e̶ ̶v̶i̶d̶e̶o̶ ̶s̶h̶o̶w̶n̶

EDIT: I forgot this only works for empty space

Problem 2: The points are too dark
C++ one:
image
Lua:
image

15 Likes

It will align the bounding box of the chair to the wedge. The first thing the dragger does when you pick stuff up is calculate a bounding box for all the stuff you’re dragging. It then treats the bounding box as a black box, and does all snapping based on that bounding box rather than any of the details of the stuff within it.

Sorry for the confusion with the feature: it’s because you’re dragging onto the baseplate, so the part naturally snaps to the baseplate. The virtual surfaces are only used when there’s nothing under your mouse that could otherwise be used to drag the selection onto.

11 Likes

Wow. Now I don’t have to worry about ruining everything when working on a highly compact map. Thanks alot!

8 Likes

Ohhh man!! First I danced to Rick Astley with coefficients, then I took a great survey, then I got 3x more robux from premium users, and now this! Roblox is spoiling us today :hidere:

11 Likes

This is great, finally! I’m definitely going to use this often.

7 Likes

Yes.

We made sure to program these in a way that generates the minimal possible floating point error: The only time that that any floating point error is “committed” is when you change your selection, you can move something around as much as you want without accumulating any additional floating point error.

18 Likes

Finally dragging is easier to use! I always hated how hard it was to just drag something into the right place, especially in very tall builds where it would end up 2000 studs above where it should be.

8 Likes

I just found another 2 problem

Problem 1: Not able to resize the part smaller once one side of the part got the least size.
Problem 2: Seems “Drag multiple parts as single part” is true whatever the settings is

C++:

Lua:

7 Likes