Getting my head around reuse of animations

So I have this struct named WeaponType.

Every WeaponType references a style of attack, eg. Rifle, pistol, unarmed, melee.
Every WeaponType also has a set of animations associated with it:

The player starts with a default WeaponType of unarmed, references animations for that kind of movement.

When a player collects a gun, the gun also has a WeaponType defined, with settings for how the players should move now that they have that gun:

Then when the player collects the gun, the animation blueprint takes a copy of this struct and uses it in animations:

So this all works quite well. For one single character.

Now I’ve imported another skeletal mesh. It can’t use the animations outlined in the gun, the blueprints, etc. When I try to use the normal anim_bp with the new skeletal mesh I just get a T-pose.

So I right-click the first anim BP and retarget it to a new skeleton, whereupon it creates a copy of everything for that new skeletal mesh. Now the skeletal mesh is animated in the viewer, but there’s a problem.

All of the animations in WeaponType reference the original set of animations, so when you pick up a weapon the new skeletal mesh still doesn’t animate:

Even more annoying, I have to remake all of the 1D-Blendspaces for the new skeletal mesh, as they’re not created by retargeting.

So what I’m hoping I can do is somehow use the original animations with my new skeletal mesh. What do I do here?

Edit: Do I need to re-import my second character, but use the old skeletal mesh? They’re of quite different proportions, will that matter?

Edit 2: Yes. Solved. Glad we could have this chat, Antidamage. I guess I’ll leave this up as it’s a good example of how to set it all up.

do you actually solved it? I hope you do because otherwise you might get into bigger headache later on.
usually if your bones are the same but position of joints are different, retargeting is the way to go (yes, use old skeleton animation).

It would be really great if you can post the result video(not necessary showing all the guts) so people can have reference in the future.
I should try use makehuman and do some extreme test as well, it’s on my to do list.

So given the outline above, how would you go about dynamically reassigning animations? I’d prefer not to manually remake every weapon and every blueprint, or do something tricky like search nested arrays at runtime.

Actually, I might not try to re-assign dynamically when possess(change to) different weapon.
Your method is pretty cool and probably require less setup time, but I kinda want to exploit the fact that you can blend and override part of your animation.
Like you said, looping and trying to parse/etc during runtime is not good at all for animation blueprint that probably needed to be used for many character at once.

So I will stick to blend and state machine, it might not give a fine detailed look, ie say in TF2, heavy’s animation from carry a shotgun and mini gun is totally different.
But that’s also kind of special case, and you can always blend it to a different state that have it’s own set of blend space animation setup.(true for TF2 heavy as well, since movement max speed is different)

For example attack with different animation you can always enter a attack state where blend space 1D have a list of attack animation based on weapon type.
( 0. melee, 1.pistol, 2.xxxx ) setup, and have a weapon type convert to float to drive this, and set it up so you can control the state change if you can hold down attack and loop, or have to return to neutral and attack again.
That way I don’t have to worry about say change weapon in middle of attack animation, if it’s allowed, it will blend into change weapon state, if not allowed, it will return to neutral before player can change weapon.

There are animation pack available today, so I want to experiment with those and see how efficient it is when setup the way I described.

That’s pretty much what I’m doing, although I haven’t gone very far with it yet. Give it a go and let me know how you do!

You mention overrides. Hmm. I wonder if we can set up an override pose for altering the base positioning of the skeleton, then just apply all the normal animations from there? I can confirm that my female character maintains her proportions even with the male skeleton, which I think is the “reference pose”.