Save/Serialize Animation Blueprint State

Hi!

I try to implement a save/load system for animations. I work on a project where we have an animation blueprint and want to save/load a particular animation state, pose, state machine states, blend space states, transition states, etc. Is there any recommended way to go about this? I have been thinking about modifying the existing animation nodes (modifying the engine) or create new animation nodes (more or less copy-paste, almost like modifying the engine, at least maintenance-wise). I feel that not enough members/methods are exposed to achieve this without modification in some form.

I also thought about saving just the pose. Still, we have a very complected animation blueprint with root motion, sometimes with long animations (several seconds), so the current state (pose, blends, transitions, etc.) really affects the output a lot. I guess other games must have had similar issues in the past regarding saving animation states.

Any thoughts or guidelines would be greatly appreciated.
Thanks in advance!

Forum post here.

The solution we settled for was to modify the engine. We save the current state ID and the currently relevant player state, any transitions could be ignored without a visible impact on load. When a save game is loaded, we reset the animation instance and initiate it to the saved current state, and load the relevant player state. This seems to work fine for us and wasn’t too much work.