StarterGui is slow to update

I have a disaster game script that updates a GUI on top of the screen to show the disaster, intermission, e.c.t. However, it is VERY slow to update. The disaster script is a ServerScript in ServerScriptService which updates the GUI in StarterGui. How do I fix it?

It’s because you’re sending the GUIS in StarterGui, you’d need to rather :FireAllClient(guiObject) event with the gui and then, make a local script that gets the remote to put that gui in their playergui.

1 Like

You shouldn’t update it directly in StarterGui. When a Player’s character respawns, the contents of their PlayerGui is emptied. Children of the StarterGui are then copied (along with their descendants) into the StarterGui. This means that editing something in the StarterGui would only show when the player respawns, and is why it’s being slow.

Instead, you should use a RemoteEvent and fire it to every player, updating their current PlayerGui instead of the StarterGui. You’ll need a LocalScript in StarterGui that picks up when the RemoteEvent is fired and then makes changes to the GUI object.

1 Like