- Home /
Shader not working correctly on iOS after 2018->2020 upgrade
After upgrading to Unity 2020.22.3f1 some of our shaders have stopped working on iOS builds. Most notably some colors will tend to white and some degree of transparency is lost.
This is an example of a shader that used to work fine for basic shadow decals and now turns whitish:
Shader "Custom/Shadow Decal" {
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_Fade ("Fade", Float) = 1.0
}
SubShader
{
Tags { "RenderType"="Transparent" }
ZTest Always
ZWrite Off
LOD 100
ZTest Always
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// make fog work
#pragma multi_compile_fog
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
UNITY_FOG_COORDS(1)
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
fixed _Fade;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
fixed4 col = tex2D(_MainTex, i.uv);
col.a = (1.0 - col.r) * _Fade;
col.rgb = fixed3(0.0, 0.0, 0.0);
UNITY_APPLY_FOG(i.fogCoord, col);
return col;
}
ENDCG
}
}
}
Hello arom1989, Have you found any solution?
I'm having the exact same problem after upgrading. Does anyone out there know why this is happening now, and how to fix it? All my dark shadows are now white on iOS.
Your answer
Follow this Question
Related Questions
Shader Rendering above everything only on Mobile. 0 Answers
Render the scene only using a given a renderType tag 2 Answers
Is multithreaded rendering enabled on iOS by default for Metal API since Unity 5.4? 0 Answers
Shader doesn't work as expected on iOS (last row of pixels stretched) 0 Answers
Render object ID to texture 2 Answers