Introducing UIDragDetectors [Studio-only Beta]

Yeah, same for me! I am really excited to see your future projects with using this new feature. x

2 Likes

Hi, unfortunately I would rather keep this small template private. However I would be more than happy to help and guide you in the right direction to make something similar via private messages (on the forums).

I always make sure to implement this in my own code, so itā€™s always cool to see someone else considering it!!

2 Likes

This may have already been responded to but how do I set it up such that I can provide an input frame and have it apply to a parent container

For example, a title bar within a wider frame.

image

Itā€™d also be nice if the drag limits were applied to the parent container, rather than the current drag, if theres a way to do this without needing loads of math, please provide how to.

2 Likes

regardless, heres those control knobs i was talking about, genuinly cool stuff minus the fact i have to do loads of math that seems redundant.

The video might not show it but i even managed to sneak in a ā€œdouble-click to resetā€ system

One thing Iā€™ll request with rotational draggers is a secondary drag mode that works linearly rather than circularly, many DAWs allow you to configure knobs to work so that if you drag up or to the right, it increases the value, and vice versa.

6 Likes

Oh I didnā€™t realise that property cool to see this is intentional as I can see use cases for both
For edit 1 Iā€™m referring to the position of the object set
For edit 2 it doesnā€™t really matter much anyway since itā€™s probably best to use only one udim type or convert it yourself

Ah, yes, thatā€™s the default cursor for UIDragDetectors and DragDetectors. You should be able to change it to whatever cursor you want with the CursorIcon and ActivatedCursorIcon properties.

This new update is amazing! Iā€™m excited to start using the drag-and-drop UI feature :cowboy_hat_face:

The touch indicator being out of place has been identified as an issue when dragging with SurfaceGui owned UI, and will be fixed for next weekā€™s release, or the week after.

As for it being stuck after a drag, this has also been identified as a SurfaceGui issue, and is related to the drag not being terminated when dragging far outside of the SurfaceGui bounds on a mobile device. The fix for this wonā€™t be out next week, but hopefully it will be the week after!

1 Like

The default cursor should not be at an angle :(

1 Like

I noticed that these are usable in plugin widgets, but only function when you have no tool enabled.
Will this be changed in the future to allow easy plugin sliders?

The aim is that this will be disabled only when the default tools (Select, Move, Rotate, etc) and the UIEditor is active!

1 Like

Ah sorry, I worded it wrong. Iā€™m aware that this is the case, itā€™s just I was wondering if there could be an exception to this in plugin widgets (the dockable ones) where it functions like in a live gameā€“this would allow plugin creators to more easily create draggers (without needing to explicitly call plugin:SelectRibbonTool( Enum.RibbonTool.None, UDim2.new() ); though, this behavior is acceptable). None of the ribbon tools do anything whilst interacting with a plugin widget to my knowledge.

I only found out about this announcement today, but I was able to quickly make use of this feature.

I made Mobile Steering Wheel controls with this feature, but currently, I can only test it on my computer using my mouse. (UIDragDetectors restricted to Studio access only)

So sad to see that this is only for Roblox Studio testing currently :crying_cat_face:

But hopefully soon weā€™ll see this being released!

3 Likes

I am having issues when dragging a normal ImageLabel instance.
The issue is demonstrated below:

External Media

Issue is produced with a standard ImageLabel with descendants on it.
The UIDragDetector instance properties were left unchanged from default inherited properties in the demo.
If a staff member requires the UI model for repro Iā€™ll gladly private message them with the model file.

Oof, that looks problematic. If you could share the UI Model, that would be greatly helpful with debugging!

We will explore possible solutions and let the thread know-- thank you for your input!

1 Like

this is gonna save so much time and maybe introduce puzzles in games using the UIDragDetector, thank you roblox for this

1 Like

It is mainly small things, like the indicator you mentioned which appears in the wrong position sometimes does not appear at all and sometimes doesnā€™t gose away.

Sometimes there is also the problem that things donā€™t respond and you have to completely rejoin the game to be able to use them again. This is especially true when you move the camera when using a drag director, but it often happens without you doing so.

Unfortunately I always get an error message when I try to add a video of itā€¦

Edit: When one UI detector stops working, all of them stop for some reason.

A suggestion iā€™d have is to add a Behavior functionality to the UiDragDetectors that will allow the player to click in any position that the UiDragDetectorā€™s DragSpace is defined to, moving the drag detector object to this location

  • Black Box = DragSpace (The bounding box for the dragger)

  • Red Dots = Example places of where the player could click inside of the DragSpace without having to first grab the drag detector itself

  • White Dot = Starting point of the DragDetector

Basically what I mean is if the player clicks anywhere inside of the DragSpace defined within the UiDragDetector while this property is set to true, the drag detector will snap to this location, this would be a VERY nice addition imo.

Also allowing for the movement of the drag detectors from one location to another to be scripted would be nice, as this would allow for smoother animations.

(If this is already possible please let me know, I have been toying with the drag detectors and programming stuff with them for a few hours now and this does not seem possible at the moment)

3 Likes