SurfaceGui text bugging out at specific camera angles

I would like to know if there is a better way to optimize the SurfaceGui text in my game.

I know it’s a common thing for the text to disappear on a SurfaceGui by looking at a certain camera angle if it’s big enough, but the problem is that if I look down just a slight bit the text will disappear. There is also an issue with the SurfaceGui text where if you’re far away from an area with lots of SurfaceGuis already, the SurfaceGui in the area you are currently in will just disappear completely if you look straight forwards.


This happens I’m certain because behind this area (which is a second lobby for more experienced players) is the main lobby which also has a heavy amount of SurfaceGui text. This is especially a problem because there is also a boss fight area in this game with a sign that tells you how much time you have left to defeat the boss, looking at a certain direction (likely towards the two lobby areas with all the signs) will cause the sign to be unreadable making it harder for players to tell how much time they have left to defeat the boss.

Currently I have tried compiling all of the TextLabels into one SurfaceGui for each billboard card (the ones with the names and stats, the ones with the moveset attacks, etc.) to prevent lag, which I believe has cleaned up some of the lag but looking down just a slight bit causes the text to disappear.

This might be due to the fact that I had to manipulate the size of the TextLabel itself (not the font size) to get it to fit within the SurfaceGui. I may try using a UIGridLayout (or something else, I’ve used the thing that arranges TextLabels into one neatly compiled list before, I just can’t exactly remember the name of it at the moment) so that way it’ll at least fix the disappearing by looking down slightly issue, but I don’t know if it’ll fix the disappearing by looking straight forwards issue from being far away from an area with lots of these signs though.

I also have StreamingIntegrityMode set to PauseOutsideLoadedAreas with the minimum streaming distance set to 64 and the maximum streaming distance set to 1024 (this game also uses large maps), I don’t know if that will help or not but I figured I’d just throw that in there just in case that would have something to do with this.

Let me know if you have any advice on the matter, thank you! ^ ^

1 Like

I’m not 100% on this, but maybe, just mayybbbeeee its because the absolute sheer amount of surface guis there are.

You could try setting their MaxDistance property to a low number, and if that doesn’t fix it, you can try lowering the amount of text labels to one per sign. (Yes, its possible and very easy)


Judging by just this, all the text labels are the same size and in the same position (but each one is lowered from the last)

Instead of doing this, you can write out everything in a text document on Notepad (or if you’re on mac, TextEdit (I don’t use mac though so I may be very wrong here))


And then, you can just copy-paste all the text onto the text label, and it’ll copy over the different lines.

Alternatively, feed all the text into a script, set the text labels RichText property to true, and then load all the text, spliiting each line with /n, although this can be tedious (looking at how much text there is) and it could also be very unoptimized having a script to do all of it.

TextLabel.Text = "Move1/n Move2/n Move3"

Aaaand if none of that fixes it, you could then try duplicating the part, moving it forward, making it transparent and then delete the original SurfaceGUI.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.