GUI holders (ScreenGui, SurfaceGui, BillboardGui), parented under ANYTHING, which parented in PlayerGui, will delete ignoring "ResetOnSpawn"

If BillboardGui, ScreenGui or SurfaceGui with “ResetOnSpawn” property set to false will be parented under ANYTHING which parented under PlayerGui will not reset on respawn, but just completely delete:
image
This behavior really hurts Folders and Models, cause it’s common containers for any stuff. I noticed this accidently, and this bug hurted 3 of my gui-based systems, which I need to rewrite now.

Reproduction steps:

  1. Create folder in StarterGui
  2. Create any GUI-container inside it (ResetOnSpawn doen’t matter here)
  3. Run test
  4. Respawn your character in any way
  5. Gui in folder will dissapear

Expected behavior

I expect that any object, used as container for GUI objects, will work the same as PlayerGui - if object has property “ResetOnSpawn” toggled - it will reset. And GUIs just shouldn’t completely destroy in any case.

3 Likes

Already reported & labeled as intentional behavior due to backwards compatibility :pensive::