How can I stop animation sequences from overlapping?


I’ve setup a scene with a character. I’ve got a handful level sequences which animate this character. These sequences start playing depending on player actions.

The problem I am having is when the player calls one animation and then calls another animation before the first animation has stopped playing. When this happens both animation sequence somewhat ‘blends’ and it doesn’t look right.

To explain furthur:

  • Animation 1 : Celebrate Animation
  • Animation 2 : Taunt Animation

When player calls animation 1 and then calls animation 2, instead of stopping animation 1 and playing animation 2, it ‘blends’ animation 2 on top of animation 1.

I’ve tried to call a ‘stop’ node, but since I have a handful of animation, there is no way to know which animation could be playing before.

Whats the best way to implement something like this so animations from separate level sequences don’t overlap if they are called at the same time? Instead it stops the animation or a better solution which looks more natural?

Thanks in advance,

I have not used level sequences yet but in UMG you can have a variable that refers to the UMG animation and control animation play / rewind / pause / stop with blueprint nodes that come out of that. Maybe you can do the same with Sequences, although you might have to Promote to Variable or create the variable reference some other way.

Are you controlling these using an Animation Blueprint? Play Matinee calls? Can you show us any blueprint or C++ code that you’re using to do this?

Thanks MightyEnigma,

I’m not sure this would work, since unreal would need to pick up what animation is currently playing and stop that animation from playing.

Hey James, I’m using an animation blueprint. The nodes are really simple. Event > Create Level Sequence Player > Play

Why not? In UMG an animation variable can exist no matter whether it is playing or not.