glTF exporting is sort of messy business right now, which is somewhat unfortunate because it's the only format that actually seems to fully work. There's a number of things I've done to ensure it works properly:
- If you're not using it already, install Blender 2.81. I don't believe the glTF exporter works properly with older versions.
- Delete the glTF addon folder from blender's install directory (eg. "C:\Program Files\Blender Foundation\blender-2.81\2.81\scripts\addons\ioscenegltf2\") and replace it with the current version from github. (you can just take out the "ioscenegltf2" folder under addons and ignore the other files)
- Ensure your rig has no 'floating bones' without a parent, except for the root bone. It seems the ChildOf constraint is unsupported and using it will cause export to fail. Drivers driven by Custom Properties also do not seem to be supported and will cause export failure, so try to accommodate that.
- Create a 'null' animation with all of the actor's bones in the default state (you can easily achieve this by enabling 'Auto Keying' and pressing Ctrl+G, Ctrl+R, Ctrl+S in succession. Select this as the current action for the armature each time before you export.
- Ensure your model's mesh(es) are parented to their armature.
- Ensure all the animations you want to export are in seperate NLA tracks. Because the glTF exporter exports animations individually (rather than as one long sequence, which is then divided into strips by the game engine like FBX), it doesn't matter if they overlap.
- Select your meshes and armature objects and export as .glTF with the following export options:
Remember export settings: Yes
Selected Objects: Yes
Transform +Y-Up: Yes
=Use current frame: No
==Limit to playback range: No
==Always sample animations: Yes
==NLA strips: Yes
==Export deformation bones only: Yes
In Godot, I highly recommend setting the Animation Storage option to "Files (.anim)". This way, you can export single animations from blender at a time, as needed, without having to export the entire animation library every time you adjust or add an animation- which will speed up your export and import time considerably.