Please watch this video i made detailing the issue i am having with root motion.
Basically i am recording the HIPS (Root Skeleton Bone) X and Z positional updates (Delta Position) from the animation clip and at runtime using the deltaPosition per frame update to update the position of the parent transform itself. Unity style root motion.
But i am brain farting and not using the correct vector math to apply the delta positional update that was meant for the hips and use that to drive the main character transform node.
Yeah, even a simple repro where you have a single animation translating the skeleton hips may help us get a better understanding.
Off the top of my head @MackeyK24 you may want to try something like this pseudo:
hipsToRoot = hips.localTransform^-1 //assuming hips is a direct child of your root transform, else invert the transformation of the hips bone relative to the root.
animationDeltaToRootTransform = Matrix.Compose(null, null, animationDelta.translation) * hipsToRoot //translate the animation targeting the hips to the space of the root transform.
root.transform = animationDeltaToRootTransform * root.transform