All the official Spine runtimes provide similar basic functionality: load, manipulate, render, and some playback convenience via the AnimationState
class. Some runtimes have more on top of that which is further integration for a specific game toolkit. The Spine runtime for Unity has the most advanced further integration.
Using spine-unity's SkeletonUtility
, you can have the bones in the Spine skeleton drive Unity GameObjects (this is called "follow"). Eg, you can attach a Unity particle emitter to a bone. Alternatively, you can have GameObjects drive bones (called "override"). Eg, you can have a GameObject affected by Unity physics drive the position and rotation of a bone in your skeleton. You could use this for a cape or maybe things hanging off a belt. You'd have bones for these, but wouldn't animate them in Spine, then in Unity you'd set up a physics hinged chain to drive the bones. With a decent amount of fiddling, the result could be that the cape moves around appropriately as the character moves. There are other useful scripts included, such as one for ground constraints. This does ray casting downward and moves a bone upward so it doesn't penetrate the floor. See the platformer example, run it and move the hero to the stairs and you'll notice he bends his knee via IK to avoid his feet going through the floor. There is also a raptor example with ground constraints.
All of this can be done in any runtime, but the provided scripts may provide you a head start. Working with Unity is different than most game toolkits (as is GM), so it may take a good amount of learning. This time cost may not be the best idea, depending on whether your goals are to ship a game or to learn more tech, especially if you already have progress. Generally to maximize productivity you should choose the tools you are most familiar and productive with. I personally prefer non-WYSIWYG game toolkits, with libgdx being my weapon of choice. NB, I'm a libgdx author and Spine is written with libgdx. 🙂
PRO does have cool features, but ESS can still take you quite far. ESS doesn't have meshes, deformation, or weights so doing squash and stretch requires some creativity. Now that Spine has the Shear
tool, ESS has an easier time with that by using shear and scale (I don't know the status of shear support in GM). For an example of what you can do with ESS even without shear, see Super Spineboy (which also serves as a libgdx example of a full game, with nice MVC source):
https://github.com/EsotericSoftware/spine-superspineboy