Best method to share animations with attached meshes?

I have been attempting to find a ‘simple’ method of sharing animation with attached children (Clothing on a Skel Mesh etc).

My results have been more complicated then I assumed would be possible.
There has to be something(s) I have not stumbled across as of yet.

Any kind souls out there willing to throw a lifeline?..lol.

/tldr:
Best way to share animations with attached children?
Should I be combining meshes at runtime? can animation be shared with items attached to sockets?

Thanks for any pro-tips in advance.

You can make your character or pawn a composite.

Create a pawn or character blueprint. Double click on it.

Select Viewport and under the Add Component section drag and drop any skeletal mesh that shares the same skeleton so it’s under default. Select each SK mesh in turn and under details > animation Set Use Animation Blueprint and and then set none to whatever BP is assigned to the object in question. More or less you can added as many sub-components you wish as to what makes for a complete player model.

Built into the process. You will figure it out once you see it. :wink:

Sure just add it as a component and if you make the main component the new root you can grab the item and under Details > Sockets > Parent Socket and link it to what you want (no need for a socket as a bone is a socket by default)

Same process for animation but instead of using a blueprint you can add an animation asset directly.

Thank you for the very quick suggestion!

Eager to play with this, will respond back with results.

Thank you again, much appreciated.

“Built into the process. You will figure it out once you see it.” - Seems that is exactly the point I need direction on.

I can get my composite characters to move around but the attached objects do not pick up the animation assigned to the character blueprint.

Do I need to assign the animation to every piece separately?

Yes but each object does not need to share the same animations or blueprints.

Lets say your doing a player model with a separate head that you want to attach as a component of the complete model.

The body and head would have to share the same rig in the host program but could be exported separate and then import to share the same rig. As a component the head would target the same blue print as what you would use on the body and must be applied to both so that they are bound to the same inputs.

Now lets say you want to add an accessory, a bennie with a propeller that goes around and around, you would add it as a separate component use the head bone as the socket to link to and set the animation input to Use animation Asset and select the animation clip that is used to make it go around and round.

With this set up the player will spawn with key bindings but the propeller would spin using the raw animation clip.

Of course what every you attach skeleton and animations “must” match and if they don’t then they don’t do anything. :wink:

Can you say exactly what it is that you want to do?

Interesting way of doing it so I might do a how to video in the near future.

Im attempting a character creation/customization system.

Was going great until animating, I am hoping there is a way to easily share animations across a character.

I have all my assets using the same skeleton but when combined in one character BP, the attached pants just float with the character.
My confusion regarding separately dictating an animation to each piece in a composite character is how is the character is handled when complex movement comes into play(like a player controller or an ai state machine).

How do I ‘attach’ the pants to the character bones in the composite character so the animation is shared?

Be easier to show that to explain :slight_smile:

Ahhh, excellent video, really helped me see where I was going wrong.

I had been applying the animation bp to the skmeshes in the ‘Map’ (testing on an enemy NPC not my playable char).

What you have illustrated in the video is exactly the small detail I needed to see so thank you.