Mirrored Root Motion sequences not working properly since UE 5.8

Since the moment I updated the engine from 5.7.4 to 5.8 I’m experiencing a strange behaviour in state transitions when a sequence with Root Motion enabled ends and another regular sequence starts, but just when the root motioned sequence is mirrored (Within the state I use the Mirror With node and a MDT table to do this). This didn’t occur in the previous version of UE.

When the mirrored root motion sequence ends, the next sequence starts mirrored for 1 or some few frames, and then flips to its correct orientation, which produces a ugly glitch.

Does anyone have experienced something similar when switching to 5.8?

To find a workaround I have thought about baking a mirrored version of the sequence so I don’t need to use the Mirror With node. I have found that Sequencer can create bake mirrors from a sequence but unfortunately it doesn’t preserve the root motion. A solution for this last problem would be nice too.

Not having much hopes in get an answer but thanx a lot in advance.

EDIT: After doing a lot of changes and tests, I think I can give a better description of the issue. The glitch occurs whenever you make a transition from a Root Motion-ed sequence (mirrored or not, that doesn’t matter) to another sequence (without root motion) that besides uses a “Mirror With” node. It’s this 2nd sequence that undergoes the glitch: in the first frames of this 2nd sequence (sometimes for just 1 frame) it shows up looking in the wrong direction, then flips to the correct orientation according to the variable that controls the mirroring state in the “Mirror With” node. It’s just like it wouldn’t takes into account the value from the variable and then it does.

While I don’t use your engine version, and cannot provide a solution to the main problem, I can confirm that baking mirrored sequences does preserve root motion. You may be doing something to overwrite or delete it.

  1. Uncheck ‘Force Root Lock’ before you begin

  1. Delete control rig and transform data

  1. Mirror as normal

Hello @Infant_Zero and thanx a load for your quick answer.

Apparently my mistake was that when I first tried and opened the new baked animation in the sequencer editor I didn’t see the root motion movement trail in the viewport and I thought that the root motion wasn’t there. Now that you answered me, I checked “Enable Root Motion”, saved the sequence and I saw the trail again.

Thanx a lot!!!

You’re welcome. Glad I could help.

After doing a lot of changes and tests, I think I can give a better description of the issue. The glitch occurs whenever you make a transition from a Root Motion-ed sequence (mirrored or not, that doesn’t matter) to another sequence (without root motion) that besides uses a “Mirror With” node. It’s this 2nd sequence that undergoes the glitch: in the first frames of this 2nd sequence (sometimes for just 1 frame) it shows up looking in the wrong direction, then flips to the correct orientation according to the variable that controls the mirroring state in the “Mirror With” node. It’s just like it wouldn’t takes into account the value from the variable and then it does.

As I said before, these things didn’t happen in the previous version. I guess it may be a bug.

Luckily enough I have found an easy workaround to get rid of this issue:

This is how the layout of the 2nd state in the transition (whose Mirror with node gets glitched because of the root motion of the 1st sequence) looks like before the workaround:

In the workaround I use Mirror with with a fixed value to get the mirrored version of the sequence, then I make use of the Blend Poses by Bool node to toggle between the both version of the sequence according to the mirroring variable (so glad this node doesn’t get glitched!):