Description
Tested versions
- Reproducible in Godot 4.3.0 up to 4.4.1 (newest current version)
- Not reproducible in Godot 4.2.2
System information
Windows 10, Godot 4.2.2 / 4.3.0 / 4.4.1
Issue description
I have a library of character models stored as a single GLB file.
The characters have similar but not always identical humanoid skeletons.
I have created bone maps for the humanoid characters but some extra bones remain unmapped.
Since Godot 4.3.0 all bones in the GLB file are treated as belonging to a single skeleton and duplicate names are silently renamed even though there should be no conflict. The new import feature "Import as Skeleton Bones" is explicitly turned off (default).
This is what the bone names on the second skeleton in the GLB look like in Godot 4.2:
This is what happens to the skeleton bone names if imported into Godot 4.3 or higher:
For the MRP example I downloaded free assets from here (only the two characters are included in the MRP):
https://syntystore.com/products/polygon-starter-pack
Steps to reproduce
I have attached a tiny Godot 4.2 project to demonstrate the issue.
It contains a single GLB file called "Humans.glb".
The GLB contains 2 rigged characters. Each character model has its own mesh and skeleton.
There is also a bone map with a humanoid profile included in the project.
This setup work perfectly in Godot 4.2.2.
Try upgrading the project to Godot 4.3 or higher.
The setup no longer works.
Godot now insists that the bones on the second skeleton have different names with the suffix "_2".
It is no longer possible to import the model into Godot. For example the bone "Eyebrows" will always have different names among skeletons, which breaks animation retargeting.
This is a breaking change but if fails silently so I only realized it's happening just now.
In my opinion the problem is caused by the new feature "Import as Skeleton Bones" which can't be fully disabled even though it's turned off by default.