Finally upgraded to Spine 3.8! Aside from fixing the changed method/variable names, it went pretty smoothly. Only one issue spotted so far and it's related to Attachment's "GetRemappedClone". On Spine 3.7, region attachments would copy any color tinting, but mesh attachments wouldn't. So I had code like this:
Spine.Attachment newAttachment = templateAttachment.GetRemappedClone(atlasRegion, true, true, skeletonDataAsset.scale);
if (newAttachment == null)
Debug.Log("clone attachment failed for " + originalSkin + " " + regionName + " " + slot + " " + templateAttachmentName);
if (templateAttachment.GetType() == typeof(Spine.MeshAttachment))
{
Spine.MeshAttachment newAttachmentCasted = (Spine.MeshAttachment)newAttachment;
Spine.MeshAttachment oldAttachment = (Spine.MeshAttachment)templateAttachment;
newAttachmentCasted.R = oldAttachment.R;
newAttachmentCasted.G = oldAttachment.G;
newAttachmentCasted.B = oldAttachment.B;
newAttachmentCasted.A = oldAttachment.A;
}
But I noticed in Spine 3.8, a bunch of our attachments were appearing white suddenly. So it turns out we need to also do this check for RegionAttachments now:
if (templateAttachment.GetType() == typeof(Spine.MeshAttachment))
{
Spine.MeshAttachment newAttachmentCasted = (Spine.MeshAttachment)newAttachment;
Spine.MeshAttachment oldAttachment = (Spine.MeshAttachment)templateAttachment;
newAttachmentCasted.R = oldAttachment.R;
newAttachmentCasted.G = oldAttachment.G;
newAttachmentCasted.B = oldAttachment.B;
newAttachmentCasted.A = oldAttachment.A;
}
else if (templateAttachment.GetType() == typeof(Spine.RegionAttachment))
{
Spine.RegionAttachment newAttachmentCasted = (Spine.RegionAttachment)newAttachment;
Spine.RegionAttachment oldAttachment = (Spine.RegionAttachment)templateAttachment;
newAttachmentCasted.R = oldAttachment.R;
newAttachmentCasted.G = oldAttachment.G;
newAttachmentCasted.B = oldAttachment.B;
newAttachmentCasted.A = oldAttachment.A;
}
I'm not sure if this is intended but it's something I came across.