The reasons why we don’t support this right now:
- It’d fill the memory usage of the fixed-size font texture atlas (2048x2048 “spritesheet” containing all the glyphs currently being rendered on the screen).
- Glyphs over a certain size will just outright fail to be inserted into the font atlas because of the algorithm for texture packing we use.
- Rendering glyphs is expensive. Every single glyph is made up of something like 30 bezier curves, and they are rasterized entirely on the CPU. We cannot preprocess this, it has to occur during gameplay.
The UIScale workaround is a bug, which I have a fix for. When that fix is live, you will be able to attain any text size, but it will render as an upscaled version of the size=100 glyph. It will no longer fail when you get above a certain size. Also, note that when you use this hack as-is, the point at which the glyph is too large and stops working varies depending on the device you’re using. Relying on it in a production game would likely break on mobile.
We are going to lift the cap on text size for BillboardGuis with TextScaled=true. That way, the text won’t
“shrink” relative to the rest of the gui when you get too close.
We may even remove the cap on TextSize as well, and simply make it so large text is slightly blurry.
I would like to allow the use of excessively large but still crisply rendered text, but it will take a significant amount of engineering effort for pretty low gain.
If you are running a 4k monitor in 1x scaling, the only person you have to blame for everything being tiny (not just Roblox) is yourself. I use a 4k monitor with 2x scaling and don’t have any problems.