I’ve developed the habit of placing SurfaceGuis in a Folder within StarterGui, but I’ve discovered that the “ResetOnSpawn” property is ignored, it always resets on spawn. You can test this in the attached place file by resetting the character; notice how the output is printed again, even though the “ResetOnSpawn” property should be respected. SurfaceGui ResetOnSpawn ignored.rbxl (54.4 KB)
Expected behavior
The “ResetOnSpawn” property should be respected even if the SurfaceGui is parented to something like a Folder. If “ResetOnSpawn” is turned off, it shouldn’t reset on spawn. Perhaps introducing a “SurfaceGuiFolder” or “UIFolder” with its own “ResetOnSpawn” property could be a solution, depending on how the Roblox engine handles these elements.