Not really weird. CharacterMovementComponent requires a character based class. Hence the “Character” part
Its kind of daft though, because there’s really no reason for movement components to require a special base class, its just a holdover from the inheritance-based nature of old unreal engine code I think. There’s even a trello card on the development trello to make the movement component work on anything. So clearly they know its dumb