Your script is probably trying to access a property named _Color
to set its alpha value, but there is no _Color
property on this shader, so the script fails.
Also the shader is not set up to render transparency, so we’ll need to fix that.
Shader properties are kind of like the public properties you expose on C# classes: the outside world can manipulate them to change the way the shader renders.
In the fragment, we multiply the image color by the _Color
property so that it can control tint and alpha.
To make your shader render transparency, you also need to add a few lines to the SubShader and the pragma.
Shader "InsideVisible" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _Color ("Color (RGBA)", Color) = (1, 1, 1, 1) // add _Color property } SubShader { Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"} ZWrite Off Blend SrcAlpha OneMinusSrcAlpha Cull front LOD 100 Pass { CGPROGRAM #pragma vertex vert alpha #pragma fragment frag alpha #include "UnityCG.cginc" struct appdata_t { float4 vertex : POSITION; float2 texcoord : TEXCOORD0; }; struct v2f { float4 vertex : SV_POSITION;