I’m trying to narrow the amount of redundant skeletons in the project. I have a lot of creatures from the Marketplace that are based on the Unreal 4 skeleton, but some of them have extra bones, including bones that share the same function and place on the hierarchy but have different names (“jaw” vs “Bone_jaw”, for example).
Some also have unused bones from the Epic skeleton. A creature may have blades for arms, but it’ll still have all the finger bones in its skeleton.
There are three potential solutions to this issue of redundant skeletons:
- Combine the skeletons, resulting in a single skeleton with a large number of extra bones that will go unused on most characters. Saves on file sizes and memory. Unfortunately, I’ve heard that Unreal 5 doesn’t remove unused bones properly at runtime, so this may incur a non-significant performance cost. The average Unreal 4-derived skeleton seems to be around 25-36 KiB, so I’m not sure how much memory this actually saves, particularly if the game is constantly wasting performance rendering bones only used by one character. (I’ve heard that Unreal might still render them even in LoDs and when they show up as greyed out. There’s also no way AFAIK to remove the extra bones after you’ve merged skeletons, even if you delete the skeletal mesh those bones were created for.)
- Merge only skeletons that are exact duplicates. Even if it’s one extra bone, leave the rest alone. Optionally put meshes through Blender to remove or rename particular bones as the project demands. This may result in some performance gains if there’s fewer bones to render, but every skeleton will have to be loaded into memory separately despite a few minimal differences. There’ll also be a lot of different skeletons increasing the game’s final file size. Skeletons don’t seem to take up a ton of space, but it could add up if many of them are needed. Editing each character individually in Blender will also take a lot of work.
I also notice that a lot of these marketplace characters seem to have broken IK bones that won’t animate. I’ve resorted to using virtual bones as a workaround, but then every character has these useless, broken, impossible-to-remove IK bones being rendered for no reason. Would it be better to find a different workaround that utilizes the existing bones, or should I delete every IK bone in Blender and fully commit to using virtual bones for IK?