Is there a way of refreshing the entire player so that all of their GUIs are deleted except for the default ones?
Maybe this will work
local Players = game:GetService("Players") for i, gui in pairs(Players:GetDescendants()) do if gui:IsA("ScreenGui") and not gui.Name == "Chat" and not gui.Name == "FreeCam" and not gui.Name == "BubbleChat" then gui:Destroy() end end
Set you GUIs so they Don't rest on spawn, Apart form the ones you want left on.
You could do something like
game.StarerGui.YOURGUI.Restonspawn = false
Then you could kill the player to rest or try the load character thing
player:LoadCharacter()
More on that here https://developer.roblox.com/en-us/api-reference/function/Player/LoadCharacter