Not sure this is really a bug, and sorry I assigned this directly to you, but I have no idea how to contact you about FBX addon and I ran into really weird problem there. Certain model that I bought on the net in FBX format wouldn't import correctly - it has one bone and nothing else, but certainly there was full armature and all viewers show the skeleton properly, animation works and so on.
So I started debugging, having no idea how complex that addon is. After a while I managed to pin the problem to some armature with really weird name. I thought the name may be the problem (I attach screenshot of bone hierarchy to this ticket), as it has weird unicode characters in it. But I think there is something weird with how addon processes possible armatures, as it seems to loop through main "root" nodes and once it finds a node that seems like a root of an armature it just stops there and picks that one. On the screenshot you see this weird named object is before "Bip01" main armature hierarchy, and it seems only that one was picked.
I managed to confirm that setting is_bone=False for "\x\x04" suddenly caused that third in line object to become main armature and load properly. I did it with dirty hack by just comparing the uuid of objects and if it was the wrong one I forced is_bone to false, but there must be some way to make it work properly without such hacks.
Could you explain how exactly find_armatures decides on what should be and what shouldn't be imported into Blender as armature hierarchy?
def find_armatures(self):
needs_armature = False
for child in self.children:
if child.is_bone:
needs_armature = True # <<<<
breakAbove line marked with an arrow is the one that caused problem, creating hiearchy for some loose root bone, while ignoring the correct armature that was next in line. Maybe there should be some box to type the name of object that acts as main armature, or the addon should just import all of them?