Well, just don’t use Roblox’s default spawn points at all. Make a part in workspace and name it Spawn or whatever, and modify your script to spawn the player at the certain spawn point depending on their progress in the obby.
Anyway I am also using teams, so when the player touches the checkpoint they are set to the checkpoints team like Dark Red or Blue. However the issue lies in not being able to be teleported fast enoguh
Don’t know if this will help but i believe there is a property under Players called RespawnTime I believe default is 3 seconds you could make it 0 and create an instant respawn system?
Another way is to disable player character auto loads then when all the data is loaded load the player using Player:LoadCharacter() and position them to the checkpoint