Shader is different with Game and Scene views.

I’ve generated a custom water shader, which is working in scene view, but the magnitude seems to have no effect in Game View. (the more important of the two) any idea what I’m doing wrong?

Visual:

Code:

Shader "Unlit/PolyWater"
{
	Properties
	{
		_Magnitude("Magnitude", float) = 1
		_Speed("Speed", float) = 1
		_Color("Color 1", Color) = (0, 0, 1, 1)
		_Color2("Color 2", Color) = (0, .5, .75, 1)
	}
	SubShader
	{
		Tags { "RenderType"="Opaque" }
		LOD 100

		Pass
		{
			CGPROGRAM
			#pragma vertex vert
			#pragma fragment frag
			
			#include "UnityCG.cginc"

			struct appdata
			{
				float4 vertex : POSITION;
				float2 uv : TEXCOORD0;
			};

			struct v2f
			{
				float2 uv : TEXCOORD0;
				float4 vertex : SV_POSITION;
			};

			sampler2D _MainTex;
			float4 _MainTex_ST;
			float _Magnitude;
			float _Speed;
			float4 _Color;
			float4 _Color2;
			
			v2f vert (appdata v)
			{
				v2f o;
				float offset = sin(_Time.y * _Speed + (v.vertex.z * v.vertex.x) * _Magnitude);
				v.vertex.y += offset;
				o.vertex = UnityObjectToClipPos(v.vertex);
				o.uv.x = offset;
				o.uv.y = 1 - offset;

				return o;
			}
			
			fixed4 frag (v2f i) : SV_Target
			{
				// sample the texture
				//fixed4 col = tex2D(_MainTex, i.uv);
				fixed4 col = _Color * i.uv.x + _Color2 * i.uv.y;
				return col;
			}
			ENDCG
		}
	}
}

In line 45, you’re multiplying the argument to sin by the magnitude. Instead, multiply the result of sin by the magnitude. (Take it out of the parens. :))