Harald wrote[...]
New 4.0 and 4.1-beta unitypackages are available for download here as usual:
spine-unity Download
Make sure to copy all 3 fadeout-related components and the example scene to your 3.8 project.
I know this post is nearly a year old, but I'm having troubles using the RenderTexture example that you made Harald when I build to mobile devices.
Specifically the alpha value is completely ignored when building to physical iOS and Android devices. I've confirmed that this is an issue with the example scene as well, and not our code, as the example scene displays properly on Desktop and in Play mode. However on iOS the Spine Boy renders properly, but doesn't fade out at all, and stays at an opacity of 1.0f, and then on Android the Spine Boy RenderTextures display nothing at all.
Curiously if I manually set the RenderTexture's to "Sprites-Default" then the RenderTexture displays properly on iOS, including the opacity. However it still doesn't display at all on Android. If I then force the SkeletonRenderTexture script to find the "Spine/RenderQuad" shader to make a new material from, by setting the quadMaterial field in the inspector to "None", then it displays on both iOS and Android, but also ignores the RenderTexture's set opacity.
I'm assuming that this is some issue with texture compression, or texture format, but haven't been able to get anything that works on Android properly, and the solution I found for iOS displays nothing at all on Android...
Some help would be greatly appreciated.
EDIT:
I believe I found a workaround for now, as it seems to be related to using the Vulkan Unity Graphics API.
If anyone is having the same problem as I am, in the Player Settings if you un-toggle Auto Graphics API, and either move OpenGLES3 to the top or remove Vulkan entirely, then the RenderTextures display as intended on Android, including their opacity.
Then for it to display properly on both iOS and Android, simply change line #94 of the SkeletonRenderTexture from:
quadMeshRenderer.material = new Material(Shader.Find("Spine/RenderQuad"));
to
quadMeshRenderer.material = new Material(Shader.Find("Sprites/Default"));
After that the RenderTextures should display properly on both iOS and Android, including the RenderTexture's set opacity. (You might need to change/remove the "Quad Material" in the Inspector of your example scene, or your actual SkeletonRenderTexture objects for this fix to fully work for you.)