Best setup for retargeting characters with both unique and shared "generic" animations?

Hello all! In my game, I’m aiming to have:

  • Several different characters with unique animations. These animations are to be animated directly against that character’s rig (or perhaps a unique proxy of their rig) and may take advantage of unique joints that other characters don’t have.
  • Several “generic” animations that these characters can share (eg, hit reactions). Most of these are to be animated against a “generic mannequin” that contains all of the main bones.

I’m interested in having a runtime retargeting setup, versus exporting a set of all animations for each different rig (though I’m fine with this if it’s the only option). The setup I’ve mostly encountered in tutorials/guides is to have an invisible Skeletal Mesh parent with a visible Skeletal Mesh child who has its own Animation Blueprint which simply tells it to retarget from whatever the parent’s pose is.

This seems to imply to me that:

  • All animations (generic and character-unique) need to be retargeted and re-exported to play on the “generic mannequin” rig.
  • For all character-unique animations, I suspect this will result in some sort of loss from re-exporting the retargeted animation, only for it to again be retargeted to the original rig from the dummy at runtime.

I’m assuming I have something here wrong. Ideally, I’d like all of the character’s unique animations to animate exactly as they were authored in the animation package, while only the “generic” animations are subject to retargeting.

I suspect it’s also worth noting that in the main Animation Blueprint, I’d like the flexibility to assign either a generic or unique animation to any circumstance. EG, I’d like 50% of my characters to retarget from the “generic” run cycle, while the other 50% use their own unique run cycle with no retargeting.

Does this complexity need to be baked into the Animation Blueprint itself (EG, do most of my pose outputs need to be gated by a bUseRetargetedRunCycle which determines if the animation needs to be retargeted), or am I just way overthinking this and Unreal’s got me covered?

Thanks!

EDIT: To give a more direct analogy, I’d like to make a game kind of like Mortal Kombat, where you’ve got a cast of characters who all have their own, very unique, sets of animations, but also share a bunch of common hit reactions.