Is there a more reliable way of playing a new animation as an old one ends?

I see “Time Remaining” and “Time Remaining (Ratio)” but these don’t handle all cases. Ideally I want a transition node that says, “Transition at the end of the animation”, but don’t see one.

If I have a ratio set at something small, say 0.1, then I can end up with an infinite loop depending on the animation and my frame rate. Different machines will have the behavior work correctly or loop infinitely. On one frame the remaining ratio can be 0.101 and the next frame it can be 1.0 because the animation reached the end and looped and never hit that 0.1->0 extent. Time remaining has a similar problem, if the frame rate dips unexpectedly, the animation can loop instead. You can say, “well increase that time” but maybe I that’s not what I want. Maybe I want to do the opposite and lower it to zero so there’s no blending between the two animations - frame 1 of the new animation proceeds frame ‘last’ of the previous one. You can say, “well increase the ratio or time remaining anyway” but that would change the look and feel of the game, and I don’t want to walk to the artists and designers and say they can’t have the look and feel they want because UE4 doesn’t support it.

Any ideas?

To let an animation play to the end and then transition:

Click into the anim state you’re transitioning from. Select the animation node (the node that says “Play animation_name”). On the settings for that animation, unclick “Loop Animation”. This will let the animation play to the end.

Click into the transition node to the next animation. Select Asset Player->Time Remaining (animation_name) (Note, might have to uncheck “Context sensitive” to get “Asset Player” to show up). Then check if time remaining is <= 0.0.