But when I turn on animation… its deformed
The fact your mesh appears fine means nothing.
For all you know the bones are 360deg around - which is probably precisely the issue based on the way it’s deformed.
Most likely, you passed a mannequin or ue4/5 thing into blender, with the wrong import options and ended up with a bad armature-skeleton.
Probably start from scratch in unreal. Delete everything. skeleton included. then check that stuff works right in a DCC, and if it does, then import a fresh FBX export with a fresh skeleton.
At that point, it won’t matter what the engine does, the new skeleton it creates on import should work no-matter what and will always be true to animations you export.
But there are bones without verts attached. Wouldn’t it be better to check weights first? ![]()
Nha. Seems like inverted bones based on the twist of the right arm/left leg. Call it an educated guess?
But sure. Weights working are also a must - should be checked in the dcc.
For the future I hope it helps somebody else to not waste time debugging and fighting against the Engine. The fragile moment in PSK path: When we swap the skeleton pointer AFTER the mesh is built, Section.BoneMap was already baked with indices into the throwaway skeleton’s bone order. Our reconcile + Build() is supposed to rebuild it against master, but UE’s rebuild logic relies on the mesh’s imported data being internally consistent — and the Gildor (an app)factory’s throwaway skeleton + per-vertex BoneIndex pair IS internally consistent, so Build() may not re-resolve BoneMap via name lookup; it just re-emits what’s there.
FBX skips all of this because the skin clusters are named-bone-references from the start. UE’s importer maps them to the target skeleton by name at the very first step.
Thank you for the answer! Appreciate the interest of helping!

