ResetOnSpawn doesn't keep track of the fact that the UI was enabled?

Hello! I’m having trouble with the ResetOnSpawn property of ScreenGuis. Basically, as I show in the video below, ScreenGui’s will be reset on spawn, but the “Enabled” property will be changed to false, as that’s the default for all GUIs when the game is started. As shown in the video, when I reset, it doesn’t keep the “Enabled” status of any ScreenGuis. I’m pretty sure this is just a Roblox problem, and not something I did, as this test was done in a game with no scripts.

Should I change all my scripts (I used a blank baseplate in this recorded game, but I first found the problem in an actual game, just using a baseplate to show that nothing else is involved) to make the frames inside the ScreenGui’s visible, instead of the Enabled property, or is there something I’m not understanding?

If you really need to have ResetOnSpawn set to true, you’ll need to enable the UI in StarterGui as well as PlayerGui.

The way PlayerGui works is that when the player respawns, the entire PlayerGui object will be destroyed, and a new one will be created. It also clones everything in StarterGui (not from the old PlayerGui) back into the new PlayerGui. If ResetOnSpawn was false for a ScreenGui, it will simply be moved over to the new PlayerGui instead of being replaced.

So the solution is to either disable ResetOnSpawn (You should if it’s inconvenient for you) or set Enabled to true on everything in StarterGui as well as PlayerGui.

Alright, I thought ResetOnSpawn did this, thanks for explaining!