I’m having a naming issue when importing 2 different characters that share a skeletal mesh. It is renaming some of my bones due to a name clash. I’m curious why its renaming my bones, what I can do to avoid it, as having to re-program parameter for each newly imported character which brings in renamed bones is something I’m trying to avoid
I think what you mean is, you’re importing 2 different skeletal meshes (characters) onto the same skeleton? When you import multiple skeletal meshes onto the same skeleton, they need to have the same skeleton/rig. This means every joint/bone in the skeleton needs have the same name and hierarchy. If they don’t, when an animation is applied to the skeleton, which is then applied from the skeleton to the skeletal meshes, the skeletal meshes won’t be able to read the animations bones and apply it to themselves, as it doesn’t have a reference of where to apply it to.
When you try to import a skeletal mesh onto a skeleton with a different heirarchy, unreal tries to fix this by renaming the joints/bones. However it’s not the most optimal way to go about it, and I’ve run into a lot of rigging issues doing that.
Ideally, the skeletal meshes you are importing all have the same joint/bone names and hierarchy on their rigs, to avoid any issues. If you’re creating the characters yourself, this would mean using the same rigging settings for every character. If you’re using premade characters, you might run into issues trying to mix together different packs/characters/sources, as there are many different skeleton types used.
Otherwise, if you have no control over the skeleton rigs you are receiving, you could look at creating an IK Rig for each skeletal mesh, and retargetting the animations from your main skeleton. UE5 has updated their retargetting system to make it very streamlined, so doing some research on that could help too.
Yes, I am attempting to import 2 different skeletal meshes that share the same skeleton.
I have all my bones named the same, and under the same hierarchy, but for some reason, it’s only renaming my eyeLids in unreal.
I noticed within blender, that the eyelids from each file, are in different order. However, they are still all parented to the same bone (head). I can’t seem to re-arrange the order of the bones, or if this is even the reason for the bones being renamed in unreal.
Hmm that’s strange, I would have thought that even with them being in a different order in the hierarchy that Unreal would recognize that. Are you able to send over your two skeletal meshes for me to test with?
I found out what was happening, the issue was not actually relevant to the hierarchy at all. I had meshes which had the same name as my bones. When the FBX was imported into unreal, it must see a mesh and a bone in the same file list, which is why it was renaming my bones. As soon as I renamed my meshes to NOT be the same name as the bone, all was good!
Thank you for this! It wasn’t obvious at first what you meant, so I wanted to add a little color for others struggling here. When you say ‘mesh’ you mean the mesh name inside the FBX file, not the name of the FBX file or imported name of the skeletal mesh in Unreal. In my Blender file, for example, I had a mesh object named ‘tail’ and a bone in the Armature named ‘tail’. During the import, Unreal was renaming the bone to ‘Tail1’ to avoid the naming clash. So, I just renamed the bone to ‘TailBone’, reimported, and it worked like a charm. Been fighting this for a while and nothing in Unreal gave any useful information about why it was happening.
This post was incredibly helpful. I was struggling with this issue for a while before I noticed the bone’s names were being changed. Now we all know why.
Not only this, but I am creating modular peices, so sometimes bones had meshes with similar names and sometimes they didnt.