I understand you're facing issues with ETC compression when using SkeletonGraphic, since ETC doesn't support alpha channels.
Important: You should not use the Spine-Skeleton.shader with SkeletonGraphic. Only use Materials with special CanvasRenderer compatible shaders at SkeletonGraphic components, such as the Spine/SkeletonGraphic* shaders. Using non-UI shaders like Spine/Skeleton with a SkeletonGraphic component can cause incorrect rendering, especially on target mobile devices, even if it appears to work in the Unity Editor.
For ETC compression support:
Unfortunately, there isn't a built-in solution in the spine-unity runtime specifically designed for ETC compression with separate alpha textures. You would need to:
- Use the appropriate
Spine/SkeletonGraphic* shaders as your base (not Spine/Skeleton)
- Modify these UI-compatible shaders to sample from a separate alpha texture
- If using multiple textures (via
Advanced - Multiple CanvasRenderers), you'll need to modify the blend mode materials as well (SkeletonGraphicAdditive, SkeletonGraphicMultiply, SkeletonGraphicScreen)
Keep in mind that SkeletonGraphic is limited to a single texture by default due to CanvasRenderer limitations. If you're using multiple atlas pages, you'll need to enable Advanced - Multiple CanvasRenderers, which generates child CanvasRenderer GameObjects for each submesh. For better performance, consider packing your skeleton to a single atlas page texture where possible.