Bug:
When unpossessing a character while falling the movement state gets stuck and the character will forever keep falling.
Expectation:
Movement should in no case ever be depending on a controller.
Workaround:
Tick this checkbox on the CharacterMovementComponent which is not ticked by default:
Detailed case:
PlayerController spawning and possesing new Character - #15 by Koucen
The bug in engine code:
UCharacterMovementComponent::TickComponent
/////
// Perform input-driven move for any locally-controlled character, and also
// allow animation root motion or physics to move characters even if they have no controller
const bool bShouldPerformControlledCharMove = CharacterOwner->IsLocallyControlled()
|| (!CharacterOwner->Controller && bRunPhysicsWithNoController)
|| (!CharacterOwner->Controller && CharacterOwner->IsPlayingRootMotion());
/////