Snail Thank you for sending your Unity project! I finally understand what you meant. It appears that you are not encountering a bug, but rather misunderstanding the purpose of the SkeletonRenderSeparator component.
The SkeletonRenderSeparator is used to divide the rendering of a skeleton based on specific separator slots. By specifying one or more slots in the Separator Slot Names field, the SkeletonRenderer
splits the skeleton rendering at those points. If only a single slot is specified, the skeleton will be rendered by two SkeletonRenderer instances—one for the elements drawn in front of that slot and one for those drawn behind it.
In your email, you wrote:
When using SkeletonRenderSeparator to split Spine rendering layers, each specified slot should render independently. However, related attachments (e.g., hat, hair, ponytail) are unexpectedly merged into the same renderer, preventing precise layer control.
This statement reflects a fundamental misunderstanding. Skeletons are normally rendered using a single SkeletonRenderer. The SkeletonRenderSeparator component enables you to split that rendering into two or more renderers when needed.
Your initial post suggested that the component was merging layers that should have been separate. This led me to believe that there might be unexpected texture merging or another issue. However, this confusion stems from the assumption that each slot should have its own renderer.
If each slot had its own SkeletonRenderer, it would require a large number of draw calls to render one skeleton, resulting in poor performance. Therefore, the default and intended behavior is to use a single SkeletonRenderer per skeleton.
To summarize, the SkeletonRenderSeparator is working correctly in your Unity project. Since your goal is to render the character’s hands in front of other objects, you can achieve this by designating the slot immediately below both hands as a separator slot.
If you have any further questions, please feel free to ask at any time.