I know this post is extremely old, but Im surprised no one answered your question.
If you’re making a single player game don’t use CharacterMovementComponent, instead use a PawnMovementComponent. If you are inheriting from a character, don’t panic you can just remove the CharacterMovementComponent and add your own PawnMovementComponent in the constructor.
But keep in mind if you choose to use PawnMovementComponent over the CharacterMovementComponent you are forfeiting all (built in) networking capabilities, the PawnMovementComponent is very basic and only handles basic movements; essentially any complicated movements would have to be written by you through a custom PawnMovementComponent.