Animation Recording and Replaying


Is it possible to precompute to animation pose data, and then play it back at a later time by re-injecting it into the animation system? Our requirement is to use our own replay system, so I am not using the Unreal replay system

So far here’s what I’ve done:

I’ve tried to record the transforms I get from the USkeletalMeshComponents::FAnimationEvalutionConext (SpaceBases, LocalAtoms, RootBoneTranslation, etc.), but haven’t had any luck when I feed the data back into the system (Basically, nothing happens). I’ve also tried to record the data of the PoseContext that is updated in UAnimInstance::EvaluateAnimation, but haven’t had any luck playing it back because of the update loop in SkeletalMeshComponent. However if I save the PoseContext and restore it in UAnimInstance::NativeEvaluateAnimation and return true, the animation updates, but it is out of sync.

I am positive that I am replaying everything else in sync, because the position of all my actors update correctly when I run my replay system. I think that the update loop of the Animations is currently stomping on the data I’m injecting back into my Actors. Any suggestions or advice on what data I should be recording for animation and how to properly play it back would be greatly appreciated.

Thanks in advance!