How does pawn achieve continuous movement when colliding with the model?

If the walking animation is not driven by velocity, then you also need to change that to stop a character from walking in place.

Just stopping the actual movement on collision isn’t 100% right, as you still want to be able to move sideways or back away from a wall. Basically, you could test if the vector from your input (towards a wall) hits a wall or not and reduce the vector size to 0 if it’s direction is towards the wall. That is implementable in blueprints.

That doesn’t stop a character from moving towards a wall for non input driven situations. (Like, you might want to adapt on that idea for AI walking around, or being pushed, or sliding down etc.) An movement input vector can be sent to a pawn in multiple ways.

If so, you might need something more custom, as I will explain next.

Example character shown above uses CharacterMovementComponent.

There’s some code in there which handles sliding along surfaces on collision. Perhaps creating a custom component and not implementing sliding is a solution.

I’m talking about this bit :

if (Hit.IsValidBlockingHit()) {
  HandleImpact(Hit, InDeltaTime, DeltaVelocity);
  // Try to slide the remaining distance along the surface.
  SlideAlongSurface(DeltaVelocity, 1.f - Hit.Time, Hit.Normal, Hit, true);
}

in the code linked next:

Pawn movement, what am I missing? - #6 by Roy_Wierer.Seda145

While back I researched how to implement that custom pawn movement component. Your situation will be more complex and based on the character movement component instead.

If blueprints is your option, it might not be that customizable on the component level (where it’s best implemented).