What is UCharacterMovementComponent?

Wow. Thanks for such a detailed answer! It feels nice to know that I had a fair idea of how to use components (audio, particles, etc. as separate components), but what you’re saying is that you prefer to hook the components to the controller/character events through the controller/character itself?

If I’m right, I can see how there is more control there. You may not want a certain type of character to send out events to a component if they’re in a certain state, and having the component check that state on their end just doesn’t seem right.

EDIT: Oh yeah… also, if I want to create a different movement component, say for a plane… should I inherit from UPawnMovementComponent ?