I have a float property in my shader which I want to change its value from my script.
My shader
Properties {
_Opacity ("Opacity", Range(0.0,1.0)) = 1.0
_MainTex ("Texture to blend", 2D) = "black" {}
}
My script
protected void Update ()
{
float opacity = 0.2f;
Debug.Log(string.Format("BEFORE: {0}", this.renderer.material.GetFloat("_Opacity")));
this.renderer.material.SetFloat("_Opacity", opacity);
Debug.Log(string.Format("AFTER: {0}", this.renderer.material.GetFloat("_Opacity")));
}
The problem is this float variable got reset to value 1.0f every frame entering Update().
Any help or clue would be gratefully received!
Thanks.