Best way to synchronize head animations with a separate body AnimBP in a modular character setup?

I’m working on a modular character in UE5 where the body and head use separate skeletal meshes and separate Anim Blueprints.

The body AnimBP is quite complex and contains:

  • Multiple idle variations

  • Walk / run / jump locomotion

  • Crouch

  • Upper-body and lower-body blending

  • Interaction animations

  • Various gameplay states

The head AnimBP is much simpler. We only have custom head animations for a small subset of body animations (for example some idle variations, walk, run, and jump). Most body animations do not require any special head animation.

For example:

Body Idle_A      -> Head Idle_A
Body Idle_B      -> Head Idle_B
Body Walk        -> Head Walk
Body Run         -> Head Run
Body Jump        -> Head Jump

Body Interact    -> No special head animation
Body Emote_X     -> No special head animation

I’m trying to avoid duplicating the entire body state machine inside the head AnimBP.

What is the most scalable production-proven approach for this?

Some options I’m considering:

  1. Body state drives a simplified HeadState enum.

  2. Gameplay Tags drive head animation selection.

  3. Animation Layers / Linked Anim Layers.

  4. Sync Groups or other animation synchronization features.

How would you implement this in a commercial project with a large and evolving body animation graph?

Any examples or best practices would be greatly appreciated.