It seems like the issue you're encountering is related to the inheritance of scale in Unity. Even though you've unchecked the "separate scale" option for the children bones in Spine, Unity's transform hierarchy does not support ignoring parent scale directly. This means that the children bones are still being influenced by the parent bone's scale in Unity.
To resolve this, you can try the following steps:
Reparent the Affected Bones: Move the children bones that should not inherit the scale from their parent to a different part of the hierarchy. You can use a BoneFollower
component to ensure they still follow the correct bone without inheriting the scale.
Use a Null Bone: Create a new "null" or zero-length bone in Spine and parent the children bones to this new bone. Apply the scale to the new bone instead of the original parent bone. This way, the children bones will not inherit the scale.
Key All Bones: Ensure that all bones that have been changed are keyed. This can be done by pressing "K" after scaling the bone in Spine.
Here is an example of how to reparent the bones in Unity:
1. Move the child GameObject (e.g., `TurtleHead`) from being a child of the parent GameObject (e.g., `Turtle4`) to being a child of the main `SkeletonAnimation` GameObject.
2. Remove the `SkeletonUtilityBone` component from the reparented GameObject.
3. Add a `BoneFollower` component to the reparented GameObject and set it to follow the correct bone.
For more detailed information, you can refer to the Spine-Unity documentation and the Spine Preferences.
If the problem persists, you might want to check if there are any updates available for Spine, spine-unity, and spine-csharp, as keeping these up to date can resolve many issues.