Okay so essentially I am saying if there is no such thing as the gravity controller then reload the character.
if not game.ReplicatedStorage:FindFirstChild("GravityController") then
game.Players.PlayerAdded:connect(function(player)
wait(1)
player:LoadCharacter()
print("Player.Name..was Refreshed")
end)
end

6 comments
PlayerAdded only fires when the player joins the game.
Try switching line 1 and 2
yeah but the gravity controller is not destroyed yet so how could it run?
Also is this in a local script or server script.
local
You have to always check if the gravity controller is missing. If it is then reload the character, and break the loop. You could use a while loop or a repeat until loop.