- Uređeno
Namespace error after updating the Unity Runtime
Hi,
I'm getting the following errors after updating the Unity Runtime in my project:
Packages/com.esotericsoftware.spine.timeline-4.0/Runtime/SpineSkeletonFlip/SpineSkeletonFlipMixerBehaviour.cs(118,41): error CS0246: The type or namespace name 'Skeleton' could not be found (are you missing a using directive or an assembly reference?)
previous version: spine-unity-4.0-2021-07-29.unitypackage
new version: spine-unity-4.0-2021-09-15.unitypackage
I did try to update the timeline package as well but that didn't solve the problem. Looks to me like a problem with assembly definition, but I'm absolutely no guru in those things.
Here you can see in my IDE it can't resolve the Skeleton refecence
Rider suggest referencing spine-csharp as a solution. I don't really know what black magic happens when I pick that option because I can't see any change in the code, but it magically gets me rid of the compile error.
Edit, I noticed one difference between the assembly definition of spine-unity in the former and the newer runtime:
In the old one, there's nothing in the list of assembly definition references
In the new one, there's a reference to the spine-csharp assembly definition
Not sure if that means anything, but like I said, I'm not very scholar with assembly definitions
We are sorry for the troubles! The problem was that the spine Timline UPM extension package AssemblyDefinition file was updated on github, but a new UPM zip package was not yet released. Thus it was lacking the reference to spine-csharp, which is now configured as a library separate from spine-unity (has a separate AssemblyDefinition file on its own).
You can now download the latest Timeline UPM package here:
Spine Unity Download
Please note that there are now two Timline package variants:
spine.timeline 4.0 for spine-unity unitypackage (updated 2021-09-17)
Please download this one, it is for use with the spine-unity unitypackage as you have downloaded it.spine.timeline 4.0 for spine-unity UPM (updated 2021-09-17)
This is a variant when you would be using spine-unity and spine-csharp via the UPM package manager instead of via a unitypackage.
Awesome, yeah I had been reading through the change logs and saw that there was a separate assembly def (I should really start working with those more myself).
By the way, are there any plans to support adding the timeline and shaders packages via git URL?
We are looking into that, but it may not be possible due to us having a monorepo, and UPM having some weird requirements regarding folder layout etc.
The issue is that Harald introduced csharp as an assembly definition. Simple solution is to delete all spine related parts. Import. Add reference to csharp assembly definition in your own assembly definitions.
foriero wroteThe issue is that Harald introduced csharp as an assembly definition. Simple solution is to delete all spine related parts. Import. Add reference to csharp assembly definition in your own assembly definitions.
Sorry for the late reply. The problem at the top posting is due to the Spine Timeline package not being updated on the download page yet. But basically you are right, any one of your own AssemblyDefinitionFiles
, which already contains a reference to spine-unity
now also needs a reference to spine-csharp
. Users that have not created their own AssemblyDefinitionFiles
for their own libraries in a project don't need to adjust anything.