How to update extension-spine runtime to 4.2-beta?

Hi

When building projects, i got this error:

Skeleton version 4.2.42-beta does not match runtime 4.1

Does anybody know how to update the extension-spine to spine runtime 4.2-beta ?

I’ve tried running ./utils/runtime/build_runtime_lib.sh x86_64-linux on the extension-spine, but the problem still persist

Thank you for the help, have a nice day :slight_smile:

We are not going to update sine extension to 4.2 any time soon.
You can export from newer Spine for 4.1 in case you don’t use new features.

1 Like

Spine 4.2 stable has been released, the physic on spine 4.2 really is a game changer.

Hopefully it can be used on defold soon :grinning:

No, I don’t think it will be added any time soon, unless someone decides to implement it (it’s an open-source extension, so anyone can contribute) or a company that wants to use it decides to sponsor such an update.

I don’t want to create false expectations: internally, our team does not have any plans to do so.

2 Likes

I would really recommend that paying users of Spine reach out to Esoteric Software (the creators of Spine) and request this, perhaps as a support request on their forum: Runtimes - Spine Forum. The Defold Foundation can then work with Esoteric to create such an update.

The other option is if someone is willing to give it a try themselves. We’re happy to provide help if that is the case.

3 Likes

in case a company decide to sponsor the update, what kind of sponsor / how much sponsor is needed?

Let’s take a look at the changelog for 4.2. We use the spine-c runtime in Defold:

There’s a few breaking changes (Esoteric loves to break stuff!), but nothing really big. This means that the bulk of the work will be to introduce the new physics support. It’s hard to say how much time would be required to do the update, probably a week, perhaps a bit more. We would charge $80/h for this kind of public development work, which means that for one week (40 hours) the cost would be $3200. Before we commit to anything we’d obviously do a bit more investigation into the new functionality so that we can provide a more accurate cost of development.

We’ve done similar work in the past. For instance the IronSource SDK integration was sponsored by a few studios that needed the integration for their games. Some of the recent Texture Packer work was also partially sponsored by the community.

And of course the Rive integration was paid for and developed in collaboration with Rive.

2 Likes

Hello, Mario from Spine here. We actually don’t break the API, we usually modify the .json and binary format exported from the editor to support new features, like physics. API wise, we may add new APIs, but hardly break existing ones. In this release, there is only 1 breaking change relevant to extension-spine, namely the additional parameter to sp_skeleteon_updateWorldTransforms. The extension doesn’t expose any of the spine-c APIs, so “user land” won’t be affected at all.

I’ll take a look next week and send a pull request once I’ve figured out how things fit together.

I also have a question: is there a technical reason that the binary format is not supported? If not, I’d take a look at adding that capability as well.

4 Likes

Hi Mario. I wrote my comment based on our years of having our own runtime and constantly playing catch up with changes to the json format.

Now that we are using the official c runtime we do not experience as many problems with breaking changes in the data format or APIs.

3 Likes

Granted, the better term is ABI.
We frequently experience changes to the file format, where a user updates their Spine version, saves the data, and suddenly it doesn’t work with our current spine runtime.
That’s what we were referring to.

As for supporting binary format, the text format is both good for checking in source control what has actually changed, as well as modifying the content in those cases where the ABI udpated, and it no longer works with our version.

Size-wise, it was not a big loss either.

3 Likes

@britzl and @Mathias_Westerdahl makes sense! I remember your brave attempts to follow our Spine updates with your custom runtime. Glad the pain is not as big anymore with spine-c.

I’ve just created a pull request that updates extension-spine to spine-c 4.2. See

Few caveats as per my PR description. Let’s discuss over on GitHub.

7 Likes