Cranktrain

Hey! I just want to start a discussion about the pretty major future changes that are eventually coming to Unity, the foreshadowing of which is available in 2018. I can find references to these features as far back as 2013, but the general long-term idea is that there's going to be a fundamental shift in how games are written from the Monobehaviour/OOP to an Entity/DDP over the next few years. The whole point of such a move is to allow Unity to get a lot more performance from optimising compiled code, managing data in memory better, spreading CPU work out among worker threads, etc. The vision doc Unity have written outlines the aims pretty well.

I'm keen to see if Spine is able to soon take advantage of any/all of these performance offerings. My project has hundreds of Spine objects animating every frame and SkeletonAnimator can take up 30%+ of my frame time. Rather than every SkeletonAnimator.Update taking its turn, the idea of spreading them out in parallel jobs sounds good to me!

It's definitely way too early to start any actual work on migrating Spine-Unity to Systems or Jobs: the API is still in-flux, its documentation is pretty sparse, and the ECS doesn't even support Animator/Mecanim yet. But I'd love to see what's possible with Spine!

Helpful links if anyone wants to read through: This is Unity's current docs on the subject, such as they are. I also found this blog post pretty helpful in getting my head around how ECS works. Finally, a video of a parallelised job that sets the vertices of a mesh.
User avatar
Cranktrain
Posts: 54

Pharan

Yep, we have plans of supporting the new Unity job system.

If it turns out that we can't make a solution available with spine-unity out of the box because of some API limitations or non-generalizability, the plan is also, at minimum, to make it so that it's easy for people to write their own solution without having to mangle the spine-unity runtime.
User avatar
Pharan

Pharan
Posts: 5220

Cranktrain

That's great news! Glad to hear it.
User avatar
Cranktrain
Posts: 54


Return to Unity