Well, it does just like that. It’s the most simplified version of a functional movement component for a pawn there is based on UMovementComponent. Pawns and characters use more complex variants of the exact same thing which include code for pathing and other stuff.
It’s been a while since that post but if I remember correctly you cache a Velocity property, which is updated on tick to depenetrate / slide along collisions. You should see where that property is read on the UMovementComponent. With VS you can place a breakpoint on that line and debug your editor, you will see all the steps leading to the moment the velocity is read.
There is also a PawnMovementComponent, CharacterMovementComponent, they both are UMovementComponent with extra stuff in them to make it more complex for you. In the end it uses the same base just like the code I posted.
component inheritance: