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 0d28252d2..0579ab53b 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 @@ -96,7 +96,8 @@ namespace Spine.Unity.Editor { public void UpdateSkeletonData () { preview.Clear(); InitializeEditor(); - EditorUtility.SetDirty(targetSkeletonDataAsset); + if (targetSkeletonDataAsset) + EditorUtility.SetDirty(targetSkeletonDataAsset); } void InitializeEditor () { diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs index 54988fdc1..d0a973e72 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs @@ -324,9 +324,13 @@ namespace Spine.Unity.Editor { #if SPINE_TK2D IngestSpineProject(loadedAsset, null); #else + string skeletonName = Path.GetFileNameWithoutExtension(skeletonPath); var atlasesForSkeleton = FindAtlasesAtPath(dir); - atlasesForSkeleton.AddRange(newAtlases); + atlasesForSkeleton = atlasesForSkeleton.Union(newAtlases).ToList(); var requiredPaths = GetRequiredAtlasRegions(skeletonPath); + atlasesForSkeleton.Sort((a, b) => ( + string.CompareOrdinal(b.name, skeletonName) + - string.CompareOrdinal(a.name, skeletonName))); var atlasMatch = GetMatchingAtlas(requiredPaths, atlasesForSkeleton); if (atlasMatch != null || requiredPaths.Count == 0) { IngestSpineProject(loadedAsset, atlasMatch);