"The (arguably?) best way is to store the reference to a casted animation instance (mesh > get anim instance > cast > promote to variable) on begin play within the character.
You then set variables directly from the character since there is no need to parse things twice this ends up improving performance slightly too."
Wait, this is news to me. Is it thereby a bad idea to have booleans on both the character and then fetch them in the AnimBP and promote them again in the AnimBP?