How do I print morph targets values to the Output Log using an Animation Blueprint Node?

I’m looking to write an animation blueprint node that prints (to the output log) a character’s morph target config during playback from the sequencer. I’m struggling to find the information I need from the docs.

**Why an animation blueprint node? **From what I understand the Animation Blueprint is separate from the regular Blueprint system (that you get when one opens the level blueprint). In particular, the animation blueprint nodes are more aggresively compiled to improve performance. Their code is running on the so called “fast path”. This means that if I were to query and log morph target values in the level or actor’s blueprint (using the event tick) I would miss some frames (the event tick is slower than the animation update loop). Since I’m using this for debugging morph target values, I’m hoping to print out every frame.

**Progress: **The closest I’ve got is to override the Update_AnyThread function, and iterate the TArray given by Context.AnimInstanceProxy->GetSkelMeshComponent()->GetAnimationCurves(). This seems to be a reasonable solution, but is a bad design since the implementation is dependent on the structure of the animation instance, mesh component, and FCurveElemenet classes.

What would be the best the best way to do this?