When player falls off level, SetActorLocation sends the player flying

You could try calling SetPhysicsLinearVelocity on one of your ball’s components to (0, 0, 0) to stop it from moving once you set it to its’ new location.

Another idea is to instead spawn a new ball at the spawn point, then possess that ball, and then destroy the old ball that fell off the cliff. This should be doable in the Death.cpp.