So I have a lot of UI in my game and I noticed that whenever a player respawned that Roblox was automatically wiping it all and cloning a fresh copy of each. This was causing a lot of lag as this was replicating to every other client in the game as well.
I didn’t see why other clients needed to know about other client’s UI so I just moved all the UI to be stored in ReplicatedStorage and have the client grab itself a copy when the character spawns, this massively reduced my network usage and everything seems to be fine.
This seems too much like a silver bullet to be true so does anyone know if I am missing something?
The way I coded the UI rely on having a fresh start each time they spawn. I could convert all of this over but my point is that my solution seems to be working no issues without needing to use this property. My confusion is why roblox doesn’t do this by default and therefore im assuming there must be a good reason that they don’t which is what I’m worried I am missing.
Roblox clones the UI server sided to allow you to change the UI from the server, this is useful for scenarios where you need to update the UI based on server events, like an intermission timer or game state changes.
By handling UI server sided, you ensure the synchronization across all clients, your client sided solution it’s fine, personally I do that as well, you can do the same thing client sided.