Need help with exporting animation of a "character" made of separated parts as fbx for unity

I’m currently trying to add a drone thingy on my game so I made one on blender. I separated the propellers because I think it would be impossible to animate without having to deal with the mesh breaking. At first, I only did 2 animations, because I animated the front and back propellers while with mirror addon not applied. Unfortunately, exporting that, as you guys might anticipate, won’t result to what I thought it would. So I made a new file and applied the mirror then animated each propellers again, then exported it as fbx again. Importing that on unity still resulted on some weird result, and somehow it resulted with more animation than what I made.

Here’s what the exported animation list somehow:

That’s a long boi. And look at the preview.

If the animation is Object level, then no surprise Blender made new Action per each object. I wouldnt deal with that hassle, and instead would’ve rigged the model to Armature with rigid (1.00 weight to a single bone per each part) weighting

1 Like

The fewer separate meshes, the better for game engine any way. Extra draw calls reduce performance

1 Like

How would I set that up? Can you show some sort of tutorial for it? I know how to use bones but I don’t know how to use it that way

One example: https://youtu.be/OEcvWQtzBMU?t=343
Not very good, but most robot rigging tutorials are too massive and hard to follow.
Instead of using Weight Paint mode, you can also add Vertex Groups through Object Data panel, then select vertices in Edit Mode and assign them to groups with Assign command. When the name of a vertex group matches with the name of a skeleton bone, the group will move with said bone when Armature modifier is present

Will try that tomorrow

Was only able to work on this today. I don’t know if blender changed some stuff but automatic weights seemed to work as well. I did add a vertex group to each propeller with a matching name to the bone they are supposed to connect to, and it worked. I’ll test this out and see if it would be enough for my current use case