Plugin: Auto Scale for GUIs

Hi everyone, I recently updated my AutoScale plugin. (The dislikes are from version 1)


Well, what can it do?
The plugin has two functions. Converting a UI element’s size to Scale or Offset, and the auto scalingfeature.
The Add Constraint feature makes use of the UIAspectRatioConstraint which ensures that your UI retains it’s size on all screen sizes. You can add this constraint to your UI manually but my plugin does the calculating of the AspectRatio property by dividing the AbsoluteSizes so you don’t have to!

image

How do I use it hmmmmm?
First, you need your GUI. Make sure it is in a ScreenGUI.

Second, select only the children of the ScreenGUI (not the descendants) and click the Add Constraint button.

This will add the constraint with the calculated AspectRatio property to the UI element, make sure you repeat step 2 for each child of the ScreenGUI. The descendants of the ScreenGUI will inherit the size of the parent so don’t go into each descendant and add a constraint to it.

Correct :white_check_mark: ur one smart boi
image

Wrong :x: bruh
image

Let me know if you need any help!
ZacBytes


Plugin Link


(Make sure to leave a :+1:)


Updates
image

-Now offers auto changing of AnchorPoint to Center
-Now offers auto conversion of new UI elements to Scale.
-Added new unloading event cleanup
-Added new plugin waypoints
-New custom print messages

127 Likes

Cool! Good for UI Designing

5 Likes

Works perfectly fine!

3 Likes

Very awesome!

2 Likes

I would like for there to be an option to automatically convert any newly inserted UI elements to scale so I don’t have to do that manually. Then I would definitely get this.

2 Likes

Really cool! Thank you so much for making this plugin!! ;D

3 Likes

I actually started working on that yesterday lol, going to release it today.

Edit: Released the new update but the settings toggle doesn’t seem to be working, will fix tomorrow.

image
image

8 Likes

This plugin will make a fine addition to my collection

6 Likes

Awesome, I’ve been looking for something like this for ages. My attempts at UI design had been previously slaughtered by it looking funky on different size screens, and I never did get these UI constraint things. Thank you, this will be very helpful. :slight_smile:

1 Like

Hi everyone, the new update has arrived and the setting now works.

image
Click the Settings button at the plugin tab to open this gui, your settings are saved through the plugin. Please tell me if you experience crashes when clicking the button.

4 Likes

This. Is. Amazing.

2 Likes

This actually helps a lot- great time saver.

1 Like

So helpful! Thank you! :slight_smile:

2 Likes

Np, if you have any feature suggestions just message me <3

3 Likes

Yeah I noticed default scale would just make images or frames WAY too big and messing around with it can get really confusing and time consuming thanks for making this plugin, I’ll use it a lot :+1:

2 Likes

The AutoScale feature has actually transformed my UI design completely, and scalability is excellent now, so thank you!

One gripe I have about GUIs is that TextScaled is kinda limited; if you have a row of TextButtons, and each is set to automatically scale, they’re all going to have different text sizes and look terrible. Right now, I circumvent this in my game by changing the TextSize every time the game resolution is changed until TextFits = false for every TextLabel in the same “group”, and then use the the biggest TextSize that fits all the TextLabels in the group. Have you had any experience dealing with this? I hope it’s not too off-topic, but if no functionality exists (well… that I’m aware of) I feel like this would be a good concept for a public module (not sure how a plug-in would work).

3 Likes

Useful for new developers! Great job! :+1:

1 Like

I’ve definitely experienced this before, I’ll look into how I could implement a fix into a plugin. Thanks!

(Might make a viewport frame plugin soon)

2 Likes

I thought of doing it as a module, where you have a method like Module:AddTextGroup(group), where group is an array of TextLabels/Buttons that must be the same size. Every time the method is called it scales the text group to the same, largest possible size, and every time the game resolution changes, it does the same for all added text groups

Actually, I think I’m gonna make this now, lol, I already do a similar thing for my game GUI, but it’s cumbersome having to connect to my custom ResolutionChanged event every time.

1 Like

UITextSizeConstraints will help with this

1 Like