Teleportation to Checkpoint not working

I’ve tried to make a system that teleports you to the designated checkpoint on respawn, but it only works when the player initially spawns. (Both

Player.CharacterAdded:Connect(function(Character)
				if Player:GetAttribute("CurrentRegion") ~= "None" then
			Player.Character.HumanoidRootPart.CFrame = workspace.Stages[Player:GetAttribute("CurrentRegion")].Spawn.CFrame
		end
		end
	end)

--when the player first joins
	if Player:GetAttribute("CurrentRegion") ~= "None" then
		Player.Character.HumanoidRootPart.CFrame = workspace.Stages[Player:GetAttribute("CurrentRegion")].Spawn.CFrame
	end

I’m not sure why this is happening.

Instead I suggest changing the player’s RespawnLocation to a script created SpawnLocation and position it or having a SpawnLocation already set at the designation.

This seems to have worked for now, but I’ll need to check how it will do when I add other stages.