Increase max text size

As a Roblox developer, it is currently too hard to render very large text, this is because the engine limits font size to 100.

This is a problem when creating a large SurfaceGui, to make text render bigger, the resolution of the SurfaceGui needs to be lowered, otherwise a massive amount of padding suddenly exists in the Gui.

The 100 (previously 72, i think?) limit was because Roblox used to use spritesheets for text, but I’m pretty sure Roblox renders font vectors directly now, so it seems a bit odd to restrict font size to 100.

If Roblox is able to address this issue, it would improve my development experience because I could render much larger text.

29 Likes

100% support. Especially for text displayed in 3D space, 100 is much too small. You are forced to use a UIScale to resize the text which only resizes the text (making it blurry).

2 Likes

RichText allows you to increase text size to whatever you want, thank me later.

5 Likes

It becomes pixelated for some reason

4 Likes

I think this is because there is a limited amount of space on the “font atlas”, an image that’s used to render text. In order to render text, the engine first renders the font at the size the text appears at to the font atlas. In order to get larger text without destroying quality, the font needs to take up more space on the atlas, reducing how much space there is for other bits of text. I believe this is why there is a limit on how far you can truly scale up text, because otherwise it can be easier for the font atlas to run out of space, causing this to happen:

(Mobile specifically seems to have this problem, as it looks like the font atlas was intentionally shrunk there.)

You can read an explanation on why this happens from a Roblox employee, and what someone can do to prevent this from happening to their own games, here:

Maybe what they could do to satisfy this feature request is to use the method RichText uses when the font starts taking up too much space on the atlas, and to just scale up the texture without rendering it at a higher quality. While this can result in text being more pixelated, it’s better than a hard limit. Maybe, instead of rendering the same font multiple times to the atlas, only the highest-quality version is (assuming the above post still holds true).

EDIT: I seem to have missed the part about SurfaceGuis! In that case, you can reduce the PixelsPerStud property, which should provide you with the same effect (with the downside) that RichText does as @InsanityFE4R mentioned, just more convenient, I think.

3 Likes

That’s not Roblox’s problem, you think that people make text in 4k? There’s a reason they limit it to 100 px, that’s because there’s no reason to go higher than that.

2 Likes

It becomes problematic on higher resolution screens for text that needs to be quite large, because you might be right up against the limit to get the effect you want, and everything can fall apart when the text stops getting bigger at a seemingly arbitrary limit. If the engine lets you make text even bigger than what TextSize would normally lead you to believe, then why shouldn’t it be the default? Why does it need to be behind a RichText tag?

2 Likes

No, there’s no reason to use a size larger than 100 px, there’s nothing Roblox can do about it, people have to draw these fonts manually, there’s very few reasons to put in the effort for larger text sizes. Higher Resolution screens are not common, 1080p is the most common resolution for monitors and 100px is more than enough.

2 Likes

I may add this affects floating GUIs(i know they’re called bilboardguis) as well, if you get very zoomed in on them, the text starts to not follow the rest of the GUI since TextScaled is also capped at 100.

2 Likes

No reason to call it the wrong name, many other game engines call it Billboard as well so you’re not helping yourself. Just use RichText, also no player is going to put up a telescope on a few pixels to see if the font is blurry or not, so there’s nothing to worry about.

1 Like

Bumping, a solution for this really ought to be in order by now.

Roblox already has a Bezier-based font rasterizer which can render fonts at any resolution with no loss of quality, it’s limited to 100px for no reason other than the possibility of a performance regression, but I think that 100px is heavy handed and unnecessary for the devices that larger fonts are aimed towards.

For ScreenGUIs & Billboards: While mobile doesn’t really care, since they’re on small screens and TextScaled would limit the font size anyways, for desktops, this has been needed for a while, 100px really just isn’t enough in many cases, rasterizing say, 240px fonts wouldn’t be a concern for PCs and the 2048x2048 glyph atlas is plenty big enough for this too.

SurfaceGUIs are a bit more tricky though since they are a fixed size or scaled based on the part size, not the size of the screen resolution, and I’m 99% certain that mobile devices have a reduced glyph atlas size. (less memory usage, and they also tend to not need to render as big of glyphs anyways for the reason mentioned above.)

Certainly we could have ScreenGUIs and Billboards at the very least by now, though? It was said at one point that Billboards were going to allow TextScaled to rasterize fonts at a size greater than 100px to prevent the text from shrinking when you get close to them years ago, but that hasn’t ended up happening yet unfortunately. But it does show that Roblox is aware that there are some cases where this would be a good thing to have.