Sequencer sub-sections with negative play rates fail to evaluate nested sub-sections

When using a sequence hierarchy with more than two layers, sub-sequences with negative play rates do not work correctly. The sub-sequence being evaluated backward correctly evaluates the content it contains directly, but any subsequences below it are ignored. This is true regardless of how the sub-sequence section’s negative play rate is applied - with a fixed rate, a play rate curve, or with a time warp curve.

Steps to Reproduce

  • Create a “child” sequence with some simple content. In my repro, this is “ChildSequence” which moves two cubes - one spawned, one bound from the level - from left to right.
  • Create a “middle” sequence which includes both some simple content and the child sequence as a sub-sequence section. In my repro this is “MidSequence”, which animates an additional spawned cube.
  • Create a “parent” sequence which includes the middle sequence as a sub-sequence section, and set the play rate for the sub sequence to be negative. You will also need to set the start frame offset to the end of the child sequence, so it can play backwards to the start. In my repro I provide several examples:
    • ParentSequence_Forward_FixedRate is a “control” using a fixed play rate of 1.0
    • ParentSequence_Backward_FixedRate uses a fixed play rate of -1.0
    • ParentSequence_Backward_PlayRateCurve uses a play rate curve set to a constant -1.0
    • ParentSequence_Backward_TimeWarpCurve uses a time warp curve that linearly interpolates from the end of the sequence to the start
    • ParentSequence_ForwardAndBack_PlayRateCurve plays the sequence forwards then back, using a play rate curve that switches from 2.0 to -2.0
    • ParentSequence_ForwardAndBack_TimeWarpCurve plays the sequence forwards then back, using a time warp curve to linearly interpolate from the start to the end and back
  • Play or preview the parent sequence. While the parent sequence plays the middle sequence backward, you can see the content from only the middle sequence, and not the child sequence. (In the examples above which include both forward and backward playback of the middle sequence, the child sequence is played correctly while the middle sequence is played forward.)

The uploaded zip file didn’t seem to attach to my post - trying again.

Hi Haddon,

Sorry about the delay. I am looking into this now and should get back to you soon.

Best regards,

Vitor

Hi Haddon,

Thank you for the report and repro files. I was able to create a repro project and confirm the issue you described. It appears that negative timescales for subsequence sections were completely broken in UE 5.3 and 5.4. The behavior has improved in UE 5.5 and 5.6 with new ways to set those timescales and with them working on subsequences, but apparently more work must be done to properly support nesting.

I just filed an internal bug report for this issue, here’s the bug tracker link: UE-302153. You should be able to access it once the engine devs mark it as public.

Please let me know if there is anything else I can do to assist you.

Best regards,

Vitor