diff --git a/spine-unity/Assets/Spine Examples/Scripts/Sample Components/Legacy/SpriteAttacher.cs b/spine-unity/Assets/Spine Examples/Scripts/Sample Components/Legacy/SpriteAttacher.cs index 29c0e71c9..950cb90f5 100644 --- a/spine-unity/Assets/Spine Examples/Scripts/Sample Components/Legacy/SpriteAttacher.cs +++ b/spine-unity/Assets/Spine Examples/Scripts/Sample Components/Legacy/SpriteAttacher.cs @@ -170,7 +170,8 @@ namespace Spine.Unity.Examples { if (skinName != "") skin = skeletonData.FindSkin(skinName); - skin.SetAttachment(slotIndex, att.Name, att); + if (skin != null) + skin.SetAttachment(slotIndex, att.Name, att); return att; } diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs index 3817aab83..867489157 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs @@ -497,12 +497,15 @@ namespace Spine.Unity.Editor { using (new SpineInspectorUtility.IndentScope()) { { skin.GetAttachments(i, slotAttachments); - if (skin != defaultSkin) { - defaultSkin.GetAttachments(i, slotAttachments); - defaultSkin.GetAttachments(i, defaultSkinAttachments); - } else { - defaultSkin.GetAttachments(i, defaultSkinAttachments); - } + if (defaultSkin != null) { + if (skin != defaultSkin) { + defaultSkin.GetAttachments(i, slotAttachments); + defaultSkin.GetAttachments(i, defaultSkinAttachments); + } + else { + defaultSkin.GetAttachments(i, defaultSkinAttachments); + } + } } for (int a = 0; a < slotAttachments.Count; a++) { diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs index db0b23e70..a95c7806d 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs @@ -582,7 +582,7 @@ namespace Spine.Unity.Editor { attachmentTable.Add(skeleton.Slots.Items[i], attachments); // Add skin attachments. skin.GetAttachments(i, attachments); - if (notDefaultSkin) // Add default skin attachments. + if (notDefaultSkin && defaultSkin != null) // Add default skin attachments. defaultSkin.GetAttachments(i, attachments); } diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs index 22f3e76f1..c26c6a601 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs @@ -58,7 +58,7 @@ namespace Spine.Unity.AttachmentTools { var defaultSkin = skeleton.data.DefaultSkin; var activeSkin = skeleton.skin; - if (includeDefaultSkin) + if (includeDefaultSkin && defaultSkin != null) defaultSkin.CopyTo(newSkin, true, cloneAttachments, cloneMeshesAsLinked); if (activeSkin != null)