Root motion issue with seamless gameplay to cutscenes

Hey, we are currently making a game, which is more of a film game, where we have created our own dynamic camera system to seamlessly go between gameplay and cut scene. A bit like in this example here (about 7 mins 20 secs): https://www.youtube.com/watch?v=qC5KtatMcUw&t=467s&ab_channel=UnrealEngine

As usual for gameplay the player’s animations need to have root motion enabled, however for our cut scenes its preferable that the animations have root motion disabled.

The issue we have it that if its enabled our cut scene animations stay in the root position (needing to be manually key framed which is a nightmare in itself), but if we disable root motion, at the end of the sequence the player slides back to its root position / collision capsule meaning we lose the seamlessness between gameplay and cut scene.

We have an unstable solution at the moment where we bake out the animation transforms
for the cut scenes in takes. However every time we create a new cut scene we discover new anomalies that we can’t problem solve and we are really struggling to get a stable pipeline for this. Besides, working like this is very very time consuming and generally not very reliable.

Does anyone have any suggestions for how to approach this issue differently? Perhaps we are missing a very convenient tick box somewhere??? Very grateful for any suggestions that could help us understand what the issue could be, or perhaps even an alternative method altogether…

Not an easy question to answer as most times the solution is derived through iteration but by understanding the purpose of the root joint we can hack around it.
The root bone tracks the relative position of the capsule in world space so that the next sequence can be pasted to the end of the sequence. If the root is at 0 0 0 world origin of course the capsule will snap to the beginning. For a cut scene we want the root to be used as reference points as to where the animation begins and ends while we animate the actor with out moving the root but as you say (needing to be manually key framed which is a nightmare in itself).
A way to animate the actor is to animate the actor and then on the last frame of the animation key the root at the position relative to the actor so that UE knows where it needs to exit relative to world space. This way your actor animation is relative to the root instead of the capsule being relative to world space. :wink: