Download

Tracking Unused Bones

I have a shared Skeleton amongst a variety of Skeletal assets and I’m trying to get rid of some unused bones that have long since been deprecated, by going through the Asset-> Remove Unused Bones from Skeleton.

I thought I removed all Skeletal assets that are using these bones, but only 1 or 2 of my deprecated bones get removed through this method.

Is there a way to track what assets are still using these bones? I tried going into the viewport of the Skeleton and previewing every possible preview Skeletal assets, but the bones never light up as if they are being used by the assets previewed.

It would have to be either animations or specific meshes that include the bone linking.

In the case of skeletal meshes the and models:
Just because you delete a bone from the mesh, doesn’t mean that the vertex group associated to the bone is also deleted.
This could possibly be why some bones are still present.

Animations don’t show what bones were imported specifically for them if the Skeletal Mesh in the preview does not have those bones present in that mesh.

And the Skeletal Meshes I checked all had the bones in question report as “not existing on current mesh”, and not “no vertices weighted against it”.

So my question would remain, how do I check to what asset these bones belong to?

I may be wrong, but I don’t think there’s a way for the engine to pull those references.

What you can maybe do is script a python algorithm to go through your animations folder and separate those which may have tracks for the removed bones.

Short of that, I have never seen a “per bone” type search in engine…