Noticed recently on ScreenGui’s the ResetOnSpawn option just completely doesn’t work if its parented under anything other than StarterGui.
Test this for yourself, set ResetOnSpawn off, so when you reset it shouldn’t refresh or whatever it does. It works fine in StarterGui, now add a folder inside StarterGui and try again, it no longer works.
This is quite the issue for me since i use Folder alot to primarily focus on keeping everything organized, but it also breaks my game.
Something that shouldn’t even take too long to fix roblox!
this problem also happened to me back when i was developing my main game. after doing some research, i had found that there’s a deprecated property that does the job:
Interesting, you’re right, but I’m pretty sure this unexpected behavior comes from the fact that you’re not supposed to parent ScreenGuis to anything other than PlayerGui, even if it’s seems like something minor as a folder. Similarly, if you use a billboard gui and it’s parented to anything other than a screengui in playergui, you won’t be able to use events such as MouseButton1Click.
Unfortunately, even though it might be a bug, Roblox Staff confirmed a few months ago that its behavior would not be changed as to avoid causing any issues with games that currently rely on that functionality.
I found a workaround for this a couple of years ago which effectively involved replacing the folders with ScreenGuis and then setting its ResetOnSpawn property to the intended value that you expect for the ScreenGuis contained within it.
But if you have multiple ScreenGuis in the same folder with different ResetOnSpawn values, a potentially easier alternative would be to have a script create a clone of each ScreenGui that is meant to reset on spawn and then have it manually place it into the player’s PlayerGui folder every time Player.CharacterAdded is called, rather than keeping the folder in the StarterGui.