Hello Spine Team,
I am currently experiencing some issues and would appreciate your assistance.
As a Unity engineer, I do not personally use the Spine Editor. Consequently, I may not be able to provide comprehensive details regarding the editor settings. If any specific editor-related information is required to diagnose and resolve this issue, please let me know, and I will request it from my team members.
Please accept my apologies for any phrasing issues; as my English is limited, I am translating my text line by line. I hope this does not cause any difficulties in understanding.
My team members recently updated the Spine Editor to version 4.3.08 and exported the skeleton JSON files using this new version. However, since the Spine-Unity Runtime version on the programming side is still 4.1, we are unable to read or load these new files successfully.
Since upgrading our Spine-Unity Runtime from 4.1 to 4.3 would require a massive amount of refactoring and adjustments across our entire game codebase, we are trying to avoid a runtime upgrade if possible.
To resolve this, I asked my team members to set the version to 4.1 when exporting the JSON files from the 4.3.08 Editor, and we made sure to check the "Nonessential data" option as suggested by the forum guides.
However, this workaround did not solve the issue. The export still seems incompatible; the corresponding SkeletonDataAsset in Unity still throws errors and fails to load.
Could you please advise us on how to properly handle this situation? What is the recommended workflow to successfully downgrade or adapt these files so they can be read by the 4.1 Runtime without upgrading our codebase?
Problem statement
1) What I have tried:
I asked my team members to export the skeleton JSON from the Spine Editor by selecting version 4.1 and ensuring that the "Nonessential data" option was checked.
We then attempted to reimport and reload these new JSON files into our Unity project using the 4.1 Runtime.
However, the SkeletonDataAsset threw an error, stating that it cannot correctly read or access the downgraded JSON file.
2) What I expected:
I expect the SkeletonDataAsset to successfully read and process the downgraded skeleton JSON file without any errors.
3) What actually happened:
SkeletonDataAsset throw error message.
4 ) Side Note
I attempted a temporary workaround by directly editing the skeleton JSON file. Inside the file, I manually changed the line "spine":"4.1-from-4.2-from-4.3.08" to "spine":"4.1". After making this manual modification, the SkeletonDataAsset actually loaded perfectly in Unity without throwing any errors.
However, since I am uncertain whether this manual hack will introduce unexpected bugs, visual glitches, or data corruption during runtime animation playback, I wanted to consult you on the forum. Is this a safe approach, or is there a proper workflow we should follow instead?
Reproducing the problem
Export the animation from the 4.3 Editor while setting the export version designation to 4.1.
Attempt to load the exported files into a SkeletonDataAsset in Unity.
Runtime information
Tell us your Spine Runtimes version.
spine-unity-4.1-2024-06-19
Post your entire error messages here (or attach them), if you got any error messages.
Failed to read version info at skeleton '刺蝟小兵'. It is likely not a valid Spine SkeletonData file.
System.FormatException: Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <1071a2cb0cb3433aae80a793c277a048>:0
at System.Number.ParseInt32 (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00016] in <1071a2cb0cb3433aae80a793c277a048>:0
at System.Int32.Parse (System.String s, System.IFormatProvider provider) [0x00017] in <1071a2cb0cb3433aae80a793c277a048>:0
at Spine.Unity.SkeletonDataCompatibility.GetVersionInfo (UnityEngine.TextAsset asset, System.Boolean& isSpineSkeletonData, System.String& problemDescription) [0x001a0] in C:\Unity\CatCoffeeBar\Assets\Spine\Runtime\spine-unity\Asset Types\SkeletonDataCompatibility.cs:153
UnityEngine.Debug:LogError (object,UnityEngine.Object)
Spine.Unity.Editor.AssetUtility:ImportSpineContent (string[],System.Collections.Generic.List`1<string>,bool) (at Assets/Spine/Editor/spine-unity/Editor/Utility/AssetUtility.cs:375)
Spine.Unity.Editor.SkeletonDataAssetInspector:DoReimport () (at Assets/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs:698)
Spine.Unity.Editor.SkeletonDataAssetInspector:OnInspectorGUI () (at Assets/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs:240)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)


