I’m experimenting with 3D in GDevelop and ran into a snag with an animated character I made in Blender.
The character uses both bone-based actions and shape keys (for facial expressions). After exporting to GLB, GDevelop treats these as two separate animations—so I can either play the bone movement or the facial animation, but not both at the same time.
Is there any known workaround to sync these animations so they can play simultaneously?
Thanks for jumping in! Yeah, I tested that extension, it’s great for real-time morph control, but it doesn’t seem to respect the actual keyframes baked into the shape keys from Blender. So when I export to GLB, GDevelop A3F only gives me control over the morph values, not the morph animation itself made in Blender.
After hours of testing, I’ve found a workaround to get GDevelop to play both bone animations and shape keys simultaneously.
In Blender, I first pushed all animations—both from the action editor and the shape key editor—into NLA clips. Then, I renamed the relevant NLA tracks with matching names: the bone animation NLA and its corresponding shape key animation NLA were given exactly the same name. This step was crucial. Since these NLA tracks are stored in different data blocks—armature group for bones and surface group for shapes—there’s no naming conflict.
In the GLB export settings, I made sure to check the option to export NLA clips as animations. When importing the file into GDevelop, the animation list doesn’t show duplicate names—just one unified entry per animation.
I’m not entirely sure if this approach causes any issues under the hood, but the key takeaway is that both the armature and blend shape animations now play correctly and in sync.