SmartScale - Easily Resize Text UI Elements

Hi Roblox Community!

Today, Bear Development Studios released another development resource!
It is called SmartScale, and can let you easily resize text in text labels, boxes, and buttons to fit!


But how is this any different than the standard TextScaled property?

Great question!
Unlike the TextScaled property, this can:

  • Resize multiple text labels to all be the same size (so all the text fits and each text label doesn’t have a different text size)
  • Resize text label’s text so that all the text is on one line (no more wrapping text when you don’t want to!)

How to use:

  1. Get & Insert into any text label: https://www.roblox.com/library/5839954006
  2. Inside of the script, there is a folder named “Groups”. For every text element you want to be resized to the same size, add an object value with the value as the text element (the object value can be named anything)
  3. Inside the script, there is a folder name “Configuration”. Inside of it, you can find the following configurations:
  • RunOnFontChanged (bool) - Whether or not the resize function when one of the text element’s font is changed
  • RunOnTextChanged (bool) - Whether or not the resize function when one of the text element’s text is changed
  • RunOnSizeChanged (bool) - Whether or not the resize function when one of the text element’s size is changed
  • RunOnScreenSizeChanged (bool) - Whether or not the resize function when the player’s screen size is changed
  • SingleLine (bool) - Whether or not there should only be one line of text (no text wrapping)
  • Margin (Integer) - How much space there should be on each side of the text

Output:


^ Notice all the buttons have text that fits on one line and are all the same size :happy1: ^

Using only TextScaled:


^ The text is wrapped and each one is a different size :sad: ^

Thanks for reading!
LoveTheBears101
Head Developer of Bear Development Team

Questions? Comments? Post them in the replies!

15 Likes

Absoloutely awesome! Thanks for open-sourcing it. I had a question, will the text be EXACTLY like this for every device?

And I’d love to use it as a Plugin instead. Using the model everytime would be a pain.

1 Like

The text size depends on the screen size. The three buttons are just an example, they don’t actually come with the model.

I meant about the Text Size. If I set it to “OneLine”, will it be only one line every time, in every device?

Yes, it will. The script resizes the text to make sure it stays one on line.

Looks great! But will it become a plugin? I need something like this as UI elements on my games often don’t fit well on most screens.

@GamersInternational and @Techyfied have requested a plugin, so I made one!


How to use the plugin:
Select the text labels/boxes/buttons you want to be grouped, then click the plugin icon. It will insert the script and set it up for you, all you have to change are the configurations! (If you want to)

Here’s how it works:

:smile:

2 Likes

Great, I’ll try it out on my latest project! The problem is that all it does is insert a script, I want an actual GUI interface to use. If you need any help I could provide icons to you free of charge as long as you provide credits.

Sorry, I’m quite busy on a project right now, the SmartScale is just supposed to be a quick mini-project. However, I may need icons for the project I’m working on. Can you DM me your portfolio?

Just a heads up but ZacBytes’s AutoScale plugin has a feature named SmartScale already, so perhaps you should change the name.

2 Likes

This looks like a great resource! I’ll try using it soon!

As @cursecode had said, I believe that @ZacBytes already has a feature named “SmartScale”, so I’d also suggest changing the name to something else instead of “SmartScale”.

Great work on this resource by the way! :+1: