Quick answer: Godot 4 AnimationPlayer with a BlendSpace2D playing the default pose after save/load? Blend position is per-instance state - serialize and restore via custom save logic.
Save mid-animation. Load: character is in the default pose, not the blend the save captured.
Save blend params
Iterate AnimationTree parameters at save time. tree.get("parameters/Blend2D/blend_position") returns the current value; round-trip it through your save file.
Restore in _ready
After tree restoration, set the same parameter. The blend resumes from where it stopped.
Use a discrete state
For complex animation graphs, snapshot the entire parameters dict. Restoration is a single dict iterate.
“AnimationTree is stateful. Save systems that ignore animation state restore broken characters.”
Build a generic 'save animation state' helper that captures all parameters. Reusable across every character.