Default Values for GUI Objects should be changable

I will be very brief here. I’m sure many of my fellow developers constantly create new GUI objects, Frames, GUIs, TextLabels, ImageLabels, ImageButtons and so on. Every time we create one, it has default values that we would never use. Usually the Anchor point is 0.5, 0,5 which I have to manually enter. But ok, there may be people who use 0, 0 more frequently. However the part that doesn’t make sense is Size. Why is Size set to Offset and not Scale by default? No one, and I’m confident no one uses Offset because it looks completely different in every device, the only place you might use them is BillboardGuis and that’s it. Moreover, it runs the risk of being resized by UI only for the user to figure out way down the pipeline that it was the Offset that got resized and not Scale, now it looks off on every other device and all the GUI elements need to be changed. The default size of objects should be changed to scale (e.g. 0.1, 0.1) OR set as an option in Studio Settings to be changed. This would greatly improve the speed of development and remove frustating annoyances.

7 Likes

I would extend this feature to every instance. We should be able to customize the default insertion properties (using the add-object widget only) for any instance as sometimes the default properties of an instance are rarely used. Instantiation with Instance.new() should not be changed for legacy reasons.


Even though this feature is quite useful, I would heavily scrutinize your reasoning for this.

I can assure you that 0.5, 0.5 isn’t the most commonly used anchor point. Different standard anchor points exist 0, 0 (top left), 1, 0 (top right), 1, 0 (bottom left), 1, 1 (bottom right) also exist. 0, 0 is and should always be the default because the engine considers the top left corner as the origin.

I’m pretty sure this misconception got popularized because it was a common solution to a problem that required a GUI element to be positioned within the center of a container. 0.5, 0.5 serves no purpose apart from centering elements.

This is completely wrong. Many developers (myself included) make most of our interfaces with offset. To scale between screen sizes, we use a custom-scripted scaling system that simply alters the UIScale instance parented to every interface. Scale being the only sizing and positioning method is terrible for consistency and this misconception should be more well-publicized.

4 Likes

Doesn’t directly address the point of this post, but if you weren’t aware, the properties pane supports “shorthand input” for these properties making it easier to get the value you want. For example, on AnchorPoint, you can just type .5 <enter> and you’ll get 0.5, 0.5, and similar for UDim / UDim2 properties.

5 Likes

I too find there are certain instances where I always set a certain property to a certain value. Altering the default would be nice.

And yeah i can’t remember the last time I used offset. Scale + aspect ratios is what I and my friends use for consistency.

And I agree that Instance.new should not be altered, or this creates issues when reusing/distributing scripts, and potential team-create issues depending on how it’s implemented if people have different defaults, which would ideally be local only

I wonder if a plugin could achieve something similar in the mean time…

1 Like

My plugin has a foundation for creating defaults for new instances (change the properties of any instance with Studio’s default properties inserted into the datamodel) Studio Tweaks - Disable selection box, disable UI Editor, anchor new parts, show selection faces, and more

If you have a highly opinionated set of defaults you’d like, you could try forking the plugin or extracting the code you need and creating your own plugin. Otherwise if they’re reasonable defaults, feel free to leave a suggestion.

Roblox could do a much better job at this by offering this functionality built-in.

1 Like

I like this request, however!

Roblox’s entire UI designing system needs to be changed, I’ve never used Roblox’s buttons to add frames or buttons, I only use the Explorer and use the Plus Button and just simply write what I want to add.

Most of the stuff I want to add isn’t even in the UI tab, I mostly add UIListLayouts, UIPageLayouts, UIPadding, etc. they should do what they did with the material selector back in the day and give use a drop down menu for everything but separated in categories.

Created Templates, UI Elements, UI Layouts, etc.

There is so much empty space not entirely used up here and it’s all on the left side, the furthest away from the Properties Window.

2 Likes

That instance defaults beta…

I know these reset Roblox’s predefined defaults for the instance constructor when I did enable it with FFlags, but it was very useful for getting rid of the outdated defaults.