Skeleton with a root node without goemetry, is this allowed?

A game I’ve been working on recently has had issues with flickering skeletal meshes. After some searching I came to the conclusion that it is caused by the skeletal mesh incorrectly being culled. Found a related post about it here:

I tried setting the SkeletalMeshComponent’s option “Use Fixed Skel Bounds” on, which makes it skip the physics asset and sure enough it fixes the flickering issue. So from that I know that my physics asset is causing the issue. I don’t know what is wrong with it though, the physics asset is handcrafted so that the bodies represent the bones well. We recently added a root bone to the top of our skeleton though, which no vertices attached. Our animator did that to support root-translation as part of an animation. An older skeletal mesh without that extra bone does not have the flickering issue.

Now I’m considering two possibilities:

  • Having an empty root node is not allowed, perhaps culling for rendering requires the physics asset to have a collision body for the root node
  • Something went wrong when updating the physics asset after changing the skeleton

I’d like to hear any thoughts you have. Does anyone else have an empty bone as the root of the skeleton and is that causing issues for you? Any insight on what may cause this problem is appreciated!