SurfaceGuis have issues realizing they have been selected/deselected, and require confusing steps to be taken for them to actually appear selected or deselected, or to even appear at all.
I made a video to help visualize what I mean:
You can see in the first part of the video as I duplicate the entire “Thing”, one of the SurfaceGuis “Output” suddenly stops displaying itself (even though every other SurfaceGui has no issues with that). That is only until I hover my mouse over it, in which case it decides to show itself

Then, I try selecting the SurfaceGui on the “Output”, but the selction outline doesn’t update until I hover my mosue over it.
I also try the same thing for the main “Thing” SurfaceGui. This time it doesn’t even update when I hover over it. Selection outline doesn’t appear at all, except when I select an object below the SurfaceGui first, and then the SurfaceGui itself. So even if I it’s selected, it can appear unselected, and when I already deselected it, it can still appear as if it were selected (except for when I force it to update itself by selecting something below it).
All of this is very confusing. It’s so confusing that I have a hard writing this bug report, I don’t even know how to properly describe its weird behavior.
This appears to be an issue unrelated to the place I’m editing, so you should be able to get the same results from this model (SurfaceGui Confusion.rbxm (7.0 KB)) as I did in the video above.
I am unfamiliar of when this started happening, but I believe I came upon a similar issue a few months ago.
To see how a SurfaceGui is unresponsive to being selected:
- insert a SurfaceGui object into any part (select it in the Explorer and notice how the selection outline does not appear at all)
- insert another GUI object (e.g. TextLabel, ImageLabel or Frame), this time under the SurfaceGui itself (select the SurfaceGui, then the object below it, then the SurfaceGui again etc.)
You should be able to see how selecting the SurfaceGui can be very confusin, as it appears selected but is not, and vice versa.
Perhaps I’m doing something wrong, and have some weird properties enabled that I’m not aware of? If so, let me know. But even then, SurfaceGui’s behavior should not be this confusing.