Introducing Text Scaling Setting [Studio Beta]

Maybe root motion and size in animation?

3 Likes

As a developer, I should have the reassurance that Roblox updates do not break the game experience in major ways, and I should have the right to display my game however I wish.

I understand the concern for people with disabilities or different comfort settings, however, I have many systems in place that require the text size to be static, not user-configurable. This change completely breaks it.

Disable this change or update it so we can configure it with a property.

11 Likes

Unneccessary more work, if I am going to make text then I will have to make sure it doesn’t look wrecked on all different settings, which is gonna get tedious. I want a way to disable this feature for certain text labels if they do not have TextScaled enabled nor UITextSizeConstraint in them.

Just what I’d say, too.

Now, I am forced to use the text scaled property if I don’t want players that have their text size at ungodly sizes to then miss out important pieces of text which I am not going to optimize for this setting, I doubt it’d even be possible for me to make it not break anything. I want my text to be the same size as I have set it and I will end it at that. What if I set my text to be small on purpose? Maybe I set it to be big, too, on purpose?

Generally speaking, I do not want player settings to alter my content. I can probably take graphics settings, but this? If I want my text readable, I can make it readable if I want to.

Thank you.

5 Likes

How about games that purposely keep certain text objects tiny to make them hidden from player as part of gameplay feature?

Imagine word game of some sort, or something more like “Finding Waldo” where player has to find certain word on screen. Such sort of text scaling allows users to abuse system and break games.

8 Likes

Great feature. This is going to be very handy when I play Guts & Blackpowder. Since, the text over there are very small.

Also, I hope we’re able to scale. This as well.

6 Likes

You would use UITextSizeConstraint for that since those will remain unaffected

3 Likes

I know this isn’t related to UI, but could we see access to the players graphics level on the main menu even if its automatic? (Give an exact level the players graphics is currently at, so we can match our own graphics to that level.)

For this specific feature, will the text size of TextService:GetTextSize() be affected as well?

3 Likes

While I am all for accessibility, I do still think this should just be a shallow property that doesn’t actually update the text labels in games. It should be up to the dev to listen to the property to change and update their UI accordingly, similar to how the preferred transparency and reduced motion settings already work.

Having to create hundreds of UITextSizeConstraints to just set the min and max size to the same value would suck, both for practicality, and for memory.

12 Likes

This is an incorrect implementation because text is NOT the only thing that must be “legible”. Text is NOT the only thing players “read”. Players who need large text also need large icons, large meters and bars, large images and large buttons (and large outlines and dividers, and large margins and spacing).

This should have been a complete UI scaling option, not an incomplete UI scaling option that only scales text and breaks games in the process.

Text-only scaling is a tech debt compromise hack for when you can’t scale your whole interface for some reason, but luckily the sizes of many elements just so happen to be derived from a text size. For example buttons that expand to contain larger text on the web, the “sp” unit on Android, and the dimensions of the letter “h” on Windows (yes, really).

They call them dialog units.

Not only is this not the case for basically all Roblox games, many also do not need this compromise to begin with.

Roblox games tend to be able to uniformly scale their interfaces correctly. It’s a semi-hard requirement because of phones and their high DPI displays (offset is NOT pixels!!). The correct implementation for offset-based UI is to pretend the screen is higher DPI.

16 Likes

This is maybe pointless because you can just change the Scale in the OS Settings also this setting removes the numbers in the Hotbar and it even affects some studio ui
robloxapp-20240827-1532598.wmv (614.3 KB)
The viewport size is (1278, 813) and I am using the old topbar

Also the Largest text looks kinda funny like I’m playing a ROBLOX web knockoff or something or when i accidentally hold control while scrolling

4 Likes

This (uniform scaling kinda like zoom on the web) is actually a different (and great!) feature that we are looking into implementing! But they are different features with different benefits and call for different implementations.

9 Likes

Of course accessibility settings are great - people being able to enjoy something they wouldn’t have before is a win for everyone involved.

My main concern is this will be used as a “Preference”, like Volume, rather than for people who need it.

If a user joins Game A, wants to tune the text a bit bigger, then hops to Game B, the text is broken, so they quit. The developer of Game B doesn’t understand why they are churning users.

I think 2 things will be necessary for developers, if there’s not going to be a way to disable this.

  1. Analytics showing what % of users are using each scaling size
  2. Save the setting per-game, so when a user first joins a new game, the text is always “Default” until they change it
21 Likes

This is a good feature and I don’t think there should be a way to disable this for an entire game. You have to go so out of your way to change this setting that anyone doing it understands that some games may not work with it. I think it maybe should be easier to disable per label than UITextSizeConstraint, though.

7 Likes

DO NOT RELEASE THIS

This breaks all my UIs, I don’t want to do extra, unnecessary work because you guys think it’s a good idea to add more features that probably nobody is going to use (because it breaks everything).

Let us disable this feature or add an extra option on the text components to enable it.

TextGuiObject.PreferredTextSize <boolean>
14 Likes

I really like this feature, but this forced text scale feature breaks the ability to resize based on TextService:GetTextSize(). If Text objects are scaled offset and not scale, then it shouldn’t be possible to enforce size scales.

Whether this feature is a must need or not, the developer should have the discretion to develop their own Text Scaling method for specific UIs in the game than all UIs at once.

5 Likes

This should ideally be coregui only. I don’t want to have to redo all of my gui just to cater to this update. I’m sure I, and many other developers, scale their text very specifically and don’t want their work tampered with.

6 Likes

My biggest question is why is this not a togglable feature?
Settings like Shift Lock and Invert Camera are togglable using scripts, so I don’t understand why this feature that (depending on your setup) requires you to rework a lot of UI or scripts with text, is being added with no easy way to disable it entirely.

I understand the people this setting is for, but I can already imagine someone enabling the setting for one game, or even by accident, and then seeing a lot of random games suddenly have cut-off text and broken UI. I’ve had a lot of friends or people I’ve seen have issues like that before…

4 Likes

I think this should give a big warning when the user changes it. This probably breaks atleast a couple user interfaces in a game.

Don’t want a player to think it’s a bug with the game…

4 Likes

you guys forgot to tell us how to disable this in our games

13 Likes

I’m all for accessibility features like this, but unfortunately I’m not a fan of how this one was implemented. Mainly, I have two problems with its current implementation:

  • Alike all other accessibility options, it was added to the Roblox in-experience settings UI. The issue here is that there are a ton of settings now in this list, making it more difficult for me to select the setting I want to out of the tens of scrollbars and dropdown options. I understand that changing accessibility settings on the fly may be important, but the settings UI in general seemingly just hasn’t been designed for having so many options. Now, to make it clear, I don’t think having a separate tab for accessibility settings is the way to go; rather, a layout change with how settings are currently displayed and better sorting should suffice.

  • Unlike all the other accessibility settings, this one is automatically applied. The recommendation to developers has always been to use as little TextSize differences as possible to reduce load on the text-atlas and as such I have refrained from making lists which scale text-size intentionally; and in some rare-cases I have even implemented my own TextScaled logic due to limitations of the technology. Now, I will say the solution of UITextConstraint would help retain these cases in a very simple manner, but that assumes that I:

A) Know each of the experiences which I am using a TextLabel / TextButton which is affected by this change.
B) Care enough about said experience to put in the effort to fix it. This means abandoned projects of mine will likely remain broken, not because I don’t wish to fix them but because there are way too many of them to fix.

However, since it doesn’t affect players not using the feature, everything should be alright; correct? I mean, the alternative would be just not supporting this by default. While this is certainly a great point, unfortunately this still becomes an issue for me as a developer; players expect me as a developer to support as many features on Roblox as possible, having my experience break when a feature is enabled seems to players like a bug and disadvantages people using the feature even more than having the feature disabled in some-cases. Me simply not supporting a new feature due to abandoning the experience is something much more understandable to players rather than something entirely breaking when said feature is enabled; at least in my opinion.

It’s unfortunate I have to say the above because I’m all for having more accessibility settings, but it is sadly the reality of what will probably end up happening over this one’s implementation. :smiling_face_with_tear: Still a huge thanks to the team for adding this feature regardless of the above criticisms.

6 Likes