Back to posts
Yuewu's Blog

Animation Sharing Between Skeletons of the Same Structure in UE4

This article explains how to link animations from multiple different animation packages in UE4, each with a different skeleton but with a similar hierarchical structure, to a unified skeleton to improve project maintainability.

v2-0ed333bdfc43e20815f7040c303e0bd9_1440w

On this page

罗传月武(YueWu)

Author

罗传月武(YueWu)

专注游戏开发和Web技术。

February 29, 2020Updated: September 13, 2026

Preface

I need to write a document for other artists at work, so I might as well write it as an article.

v2-5050016adcfc703c0fe66d2b804efd5c_1440w


This is our project structure. The four dots indicate that these are externally imported resource packs, while the unmarked ones are the content from the default third-person template of UE4.

Of these four packs, the first pack is Unreal Marketplace (now Fab) 's NPC animation pack, which includes a UE4 character and a set of NPC animations. The other three packs are from Synty Studios 's Lowpoly resource pack. Each pack contains a 'skeleton resource' that matches the UE4 character's skeletal structure, and each skeleton resource is associated with multiple humanoid characters without animations. Meanwhile, the third-person template pack includes a character skeleton with several basic movement animations.

Objective

Our goal is to allow all the non-animated characters in packs 2, 3, and 4 to share the NPC animations from the first pack and the walking, running, and jumping animations from the third-person template pack.


At the same time, the skeleton resource structures in packs 2, 3, and 4 are the same as that of the UE4 character, so we can use animation retargeting to achieve this functionality.


Preparation Phase

All other skeletons that match the Unreal skeleton structure must ensure that their skeleton resources have completed Humanoid skeleton mapping and maintain consistent base poses (some skeletons have a default pose of T-shape, while others are A-shape),

Humanoid skeleton mapping refers to: matching each bone of our model's skeleton with the bones of a skeleton template (Humanoid Rig) provided by UE4. If our model's skeleton structure is similar or identical to UE4's Humanoid skeleton structure or naming, Unreal will automatically complete this operation for us; otherwise, we can only manually select bones one by one, which is inefficient and prone to errors.

Our (the third-person template's) Unreal character's base pose is A-shape, and it has not completed Humanoid skeleton mapping by default, while the skeleton resources in our packs 1, 2, 3, and 4 have completed Humanoid skeleton mapping. Except for pack 1, which is A (because it uses the character from pack 1), the base poses of the other packs are T-shape. Therefore, we first set the skeleton mapping for the character, and then adjust the character's base pose to T-shape (the majority rules, only 2 characters are A, the rest are T).

So first, open UE4_Mannequin_Skeleton (the character's skeleton resource, there are 2, choose the one from the third-person template), click on the Retarget Manager, and then select Select Humanoid Rig from the SelectRig dropdown list. Once completed, it should look like the image below:


v2-a0be90271b487a327a7a7a6c1dd0e190_1440w


As for the skeleton mapping (the list of bones in the lower left corner), Unreal will help us complete it automatically (because the Unreal character's skeleton is sufficiently standard).

Next, we can rotate the character's shoulders and arms into a T-shape, then click ModifyPost->Use CurrentPose, and then save the resource. As shown in the image below:


v2-7c7e3c5c4fe25b778f47bf0fd4023a31_1440w


Mapping the animations from the third-person template to pack 1

We will do this in several steps. First, I want to transfer the walking, running, and jumping animations from the third-person template to the NPC pack, so that all the animations we need are associated with the skeleton resource in pack 1, and the skeleton from the third-person template becomes obsolete.


v2-f7036f17ab7dd556478851db2cc8e94a_1440w



v2-136b7750458ea3059ec2c5406147f268_1440w


So far, all the resources associated with the skeleton of the character in the third-person template have been transferred to pack 1 (the character in GenericNPCAnimPack). At this point, the character in pack 1 has all the animations from the third-person template, as well as a bunch of NPC animations.

Linking all characters in packs 2, 3, and 4 to one skeleton

We want to share the animations from pack 1 with packs 2, 3, and 4, but each of these packs contains a skeleton resource, which means the animation retargeting process will be done three times, and the animation resources will increase threefold. However, the skeleton structures in packs 2, 3, and 4 are almost identical to the character's skeleton (some skeletons may have additional IK features), because the authors of these three packs are the same person, so we can conveniently link all characters in these three packs to one skeleton from these three packs (a total of 3 skeletons). Each SkeletonMesh can be right-clicked to assign a skeleton, for example, I want to assign a character from pack 1 (from PolygonCity) to the skeleton in pack 3 (PolygonPirates).


v2-c01bce00e78a850494a2e20b66521df8_1440w



v2-d1808f80d9e372fe27b428419a417ad8_1440w


You can see that the number and names of the bones in the lower area of the image above are consistent. In this case, directly assigning should not cause major issues, but if the skeleton names, numbers, and hierarchy are incorrect, it will likely result in errors.

So we will click on all the skeleton characters in packs 2 and 3 one by one and assign them to the skeleton resource of pack 4. Clicking multiple times is better than repeating resource usage.

Transfer all animations from pack 1 to the skeleton of pack 4

Find the character in pack 1, right-click, and then click 'Retarget to Another Skeleton', and then select the skeleton in pack 4, and then you're done!


v2-2c64879ecdb475bc5095b53e1ffcfd44_1440w



v2-ef6fc29fc0b29046c8c86487333ae013_1440w


Final Result


v2-e25c698a44839d3da436126dd824c187_1440w

Now the skeleton in pack 4 is associated with all humanoid characters from packs 2, 3, and 4 (1), and has all animations from pack 1 (2). Now we just need to replace the character Mesh in the ThirdPersonCharacter blueprint of the third-person template with our many characters to run, and we can also edit the animation blueprint to add other animations.