Reverse montage?

Hi, I’m needing to play a montage in reverse from the end to the start, but there doesn’t seem to be a reverse play function.
So I tried to play the animation, set it to near the end, then do a negative playback rate. But that doesn’t seem to work.


                Montage_Play(SheatheMontage);
                Montage_SetPosition(SheatheMontage, 28);
                Montage_SetPlayRate(SheatheMontage, -2);

Ideas?

The animations we precisely control in code is via interping a lambda from 0-1. Then call SetPosition adjusting for length of the montage:

montageInstance->SetPosition(montageLength * lambda);

To play backwards just interp from 1 back to 0. But there is no “fire and forget” the lambda is updated every tick. AFAIK its the easiest (only?) way to precisely play, pause, reverse, and start an animation at any point, via code.

Strange, I got it to work, but it’s not quite how I expect with the 0-1 ration.

If I do a setposition of 2, the entire animation plays, if I do 1, it ends and blends prematurely.