i have a character that has several key frames on draw order property on the spine editor side and i exported the model to unity and made it use several different submeshes with separate renderers.
the issue arises when i need to move the renderers in Z direction at runtime but because different animations have different drawing orders for different parts of the skeleton the runtime on the side of unity moves meshes and not the renderer
for example : in my idle animation renderer number 27 is the hand

but in my walking animation renderer number 27 is the body!

how do i change the position of renderers at runtime and without having to fight with spine changing the mesh it self between animations?

    Related Discussions
    ...

    @Reffined Please note that having a skeleton separated into 40 or more submeshes via the render separation feature is not something we would recommend doing. Why do you need such a high number of separate parts, what are your trying to achieve?

    Reffined the issue arises when i need to move the renderers in Z direction at runtime but because different animations have different drawing orders for different parts of the skeleton the runtime on the side of unity moves meshes and not the renderer

    The render separation feature separates by slicing your skeleton at any of the found separator slots and assigns the parts meshes at renderers in ascending order. By changing draw order you can arbitrarily re-group any of your attachments to different parts each frame (like regrouping parts AB CD to AC BD), therefore it's unfortunately not possible to assign attachments at the same renderer as in a preceding frame.

    Reffined how do i change the position of renderers at runtime and without having to fight with spine changing the mesh it self between animations?

    You could theoretically register a method at SkeletonAnimation.GenerateMeshOverride and set SkeletonAnimation.disableRenderingOnOverride = false, and then iterate over SkeletonRendererInstruction.submeshInstructions and create a map (or List) of your initial submeshInstruction.startSlot or .endSlot at each part once to later be able to find the index of your re-arranged group again. You would initialize this list once with each startSlot index of each SubmeshInstruction, and then each frame use the initial list to find the original index of your current part's submeshInstruction again.

    The above is however not something that we would recommend as the first solution, as there might be better solutions available depending on what you are trying to achieve.