Here is a simple baseplate reproduction of the issue (minimal, shows problem only, exactly):
gui-broken-demo.rbxl (61.0 KB)
Two scripts, both in StarterPlayer > StarterPlayerScripts. One GUI in StarterGui.
The problem:
I have ONE screen GUI with ONE frame that holds two text labels. In my Studio I have the frame Visible
set to FALSE so it isn’t in my way all the time (it is large… it is shown infrequently in game for short periods). In game I have a LocalScript that is calling to set Visible
to TRUE but the Visible property shown in Studio in PlayerGui while running is FALSE despite the fact that I can spit out [frame].Visible on a heartbeat and it reports it is TRUE!
If I set the frame to Visible TRUE in Studio prior to running the game then it works as expected.
If I manually set the frame to Visible while running in Studio, it works as expected.
How in the world is the Frame not visible when the script sets it to visible and then reports that it is visible??
I’m totally mystified.