CharacterMovementComponent is Unreal’s builtin component mostly intended for humanoid type characters. It’s a type of MovementComponent which works only with pawns extending ACharacter. If your actor is a different type, use another movement component, such as FloatingPawnMovement.

Basic movement logic flow

Character movement component’s EMovementMode state governs most of its behavior.

Movement mode is switched at certain points in the movement logic. For example, if the character is falling (MOVE_Falling), the movement processing enters PhysFalling. During PhysFalling, if the character is determined to have landed, the state is changed to MOVE_Walking if appropriate.

For overviews of some behaviors, see: