spine-godot Runtime released

July 19th, 2022

The wait is finally over! We're happy to announce the general availability of our brand new spine-godot runtime.

We've started work on the spine-godot runtime in November 2021, based on a generous source contribution by rayxuln. We've since completely rewritten rayxuln's great initial effort to be more in line with what both Spine and Godot users expect from an official runtime.

spine-godot sits on top of spine-cpp, our C++ runtime. Since we wanted to integrate tightly with the Godot editor to provide a best in class experience, we had to implement spine-godot as a custom C++ engine module. We had to take this route, as GDNative and its successor GDExtensions do not surface all of the editor APIs we need, such as the animation player and editor APIs.

This comes with a minor downside: we have to distribute custom Godot editor and export templates builds, that integrate our plugin. On the up-side, it's almost trivial to build your own Godot editor and export templates with spine-godot support and whatever else you want integrated! You can either do so manually or clone the spine-runtimes repository and use the spine-godot GitHub workflow. The workflow will build editor binaries for all desktop platforms, as well as export templates for all platforms supported by Godot!

What's in the box? spine-godot surfaces almost all of the spine-cpp API to GDScript. On top of this, we've built a handful of Godot node types that make drawing and modifying your Spine skeletons in Godot a joy. And our resource management ensures that your exported Spine files are easy to import and update. Check out our spine-godot documentation and the extensive example project, which demonstrates all of spine-godot's features.

This release is what we consider a V1 release, meaning, we've focused on the core functionality of the plugin. In the future, we'll add additional features, such as 3D support, as well as better integration with Godot's physics system, e.g. automatically generating rag dolls.

We guarantee compatibility with the latest release version of Godot, which at the time of writing is 3.4.4-stable. The plugin is structured in such a way that it compiles against and works with Godot 4.0 as well. However, we are not able to guarantee compatibility with with Godot 4.0 until it has been officially released.

On the Spine versioning side, we will support spine-godot from Spine version 4.1 onwards. Our GitHub workflow continuously builds Godot editor and export template binaries for 4.1 and subsequent versions.

While our example project covers all of spine-godot's features, it’s likely there are still bugs we have not encountered yet. Please report issues to help us improve the runtime!

Discuss this blog post on the forums!