Consecutive calls of Montage_Play in C++ shows T-pose in between

My code logic works like this:

  • Use UAnimInstance::Montage_Play to play a montage A.

  • Use UAnimInstance::Montage_IsPlaying to check if A is finished.

  • If it’s finished, use UAnimInstance::Montage_Play to play montage B

  • Or certain game logic conditions are met, even if A is not finished, play montage B too.

But I find that, if A is very short, or the game logic conditions met very soon after A is played, playing B cause it to show T-Pose (reference pose) briefly.

I’ve tried to set blend in and out time of my montages to 0, but problem remains.

Could anyone help? I need very subtle animation controls in C++ and don’t want to use sections in montage.

Thanks.

Found the real cause and reported here: