ResetOnSpawn Disabled, UIs Still Resets Every Spawn

I posted a bug report previously that I now know is just a symptom of this bug: ImageButtons Automatically Disconnect Event Connections On Window Focus Loss

I had previously thought my button events were just disconnecting, but what’s actually happening is the UI still reloads, even with ResetOnSpawn disabled.

Essentially what happens, is sometimes when a player respawns (maybe 30% of the time). All children of UIs that have ResetOnSpawn disabled get destroyed and recreated anyways. It also only uses the original UI as a reference. So if you populate a UI List in runtime, and then the player respawns the list will go back to empty as that was the original state of the UI. This is easily noticeable in studio as well, just simply select an object in the UI in explorer, then reset the character. The UI will collapse itself and your selection will be cleared (because the selected frame was destroyed on respawn).

This has been causing me a ton of headache. I have to disconnect and reconnect all of my button events every respawn and I’m getting a lot of ‘not a member of’ errors even after calling WaitForChild previously because everytime players respawn the UI refreshes and the original object doesn’t exist anymore.

Needless to say, this is not how I would expect disabling ResetOnSpawn to work. I don’t care if the primary ScreenGuis stick around on spawn if all of their children are reloaded anyways.

Thanks for the report! We’ll follow up when we have an update for you.

1 Like

This is becoming a serious issue now. I have UI elements that were part of the original UI, just not existing now after one respawn.

I want to bump this up, but mainly because I am experiencing this issue through the use of StreamingEnabled.

StreamingEnabled is set to Opportunistic and when the models go out of range, they get removed from the Workspace. Then when close they load back in and the SurfaceGui/BillboardGui is just back to default.


Personal Issue: Long Explanation
This is causing issues in my game like players not being able to see the progress bar of some buildings in the right position and progress.

In other words, the Default text displayed is 0% and the bar’s size is UDim2.fromScale(0, 1). The bar grows in scale and the percent display changes as it increases. When the player goes out of range the UI gets removed and when they go back to it, they see it as 0% and UDim2.fromScale(0, 1) once again.


I switched to StreamingEnabled to see improvements, but:
  1. The game reduced 100MB which is probably a lot but I have no idea, it seems too little to me. (Knowing that I have a bunch of object and terrain all around)
  2. I experience bugs with players not seeing or loading objects that are within their StreamingMinRadius.
  3. Objects that get inserted lack a lot of their child Instances despite the model being set to Opportunistic as well.
  4. Some users experience terrible lag as they walk through the map and things load in.
  5. They end up crashing after some time.
  6. It didn’t help with game’s physics in any way. (I anchor and stop objects that move around when no player is around and yet, the physics act terribly slow…)
  7. These annoying bugs that occur are unfixable from my end.

Anything Good Though?: Honestly, it just reduced the high ping on servers when players join in, apart from that, the benefit is so low, unless I am missing something.

Hi, I’d like to take a look at this issue, but I’m unable to reproduce it. In this video, I have two ScreenGuis under StarterGui, one with ResetOnSpawn=true, one with false. Each contains a button, and events are set up in a script in StarterPlayerScripts.

I respawned many times but the button under the non-resetting ScreenGui continues to work; I don’t observe the “UI will collapse itself and your selection will be cleared” on that ScreenGui either.

Can you confirm whether this is still an issue?

I’m closing this issue for now.