Hello,
I am currently using the GAS Sandbox Mover pawn (MoverComponent / UMoverComponent) instead of CharacterMovementComponent.
I am trying to play a specific animation montage (for example: knockdown → lying → get-up).
During this montage, the character must be completely immobilized.
What I have already done:
-
I block player input in InputProducerㅅ → ProduceInput() by zeroing the movement input values.
-
This successfully stops keyboard movement input.
-
However, the character still continues to slide due to existing velocity/inertia from previous movement or knockback.
ㆍI then tried:
-
ApplyVelocityEffect (VelocityToApply = 0, AdditiveVelocity = false)
-
K2_ScheduleInstantMovementEffect
This only stops the character for a single frame, and on the next tick the pawn begins moving again.
It looks like something inside the Mover simulation (movement mode / layered move / external forces) is continuously re-applying velocity.
What I want:
While a montage is playing, I need behavior similar to CharacterMovementComponent → StopMovementImmediately() + DisableMovement, meaning:
• No input movement
• No residual velocity
• No sliding
• Character remains fixed in place until the montage ends
So my questions:
-
What is the correct way to completely freeze a Mover pawn during a montage?
-
Do I need to cancel layered moves/modifiers?
-
Is a custom movement mode required?
-
How should velocity be cleared in a persistent way (not just one tick)?
Any guidance or recommended pattern for GAS + Mover would be greatly appreciated.