The shader is not working

Help please Parse error: syntax error, unexpected TOK_FLOAT at line 13

Shader "FX/Water2D"
{
	Properties
	{
		_UITime("Speed" , float) = 0.5
		_UIZoom("Zoom" , float) = 7.0
		_Waves("Waves & Alpha" , float) = (0.5,0.2,0.5,3.0)
		_MainTex("Texture", 2D) = "white" {}

	}

	float _UITime;
	float _UIZoom;
	float4 _Waves;
	sampler2D _MainTex;


	fixed4 frag(v2f i) : SV_Target
	{
		float4 uv_texture = tex2D(_MainTex, i.uv);

		float4 k = _Time * _UITime;
		k.xy = i.uv * _UIZoom;

		float val1 = length(0.5 - frac(k.xyw = mul(float3x3(float3(-2.0,-1.0,0.0), float3(3.0,-1.0,1.0), float3(1.0,-1.0,-1.0)),k.xyw) * _Waves.x));
		float val2 = length(0.5 - frac(k.xyw = mul(float3x3(float3(-2.0,-1.0,0.0), float3(3.0,-1.0,1.0), float3(1.0,-1.0,-1.0)),k.xyw) * _Waves.y));
		float val3 = length(0.5 - frac(k.xyw = mul(float3x3(float3(-2.0,-1.0,0.0), float3(3.0,-1.0,1.0), float3(1.0,-1.0,-1.0)),k.xyw) * _Waves.z));

		return (pow(min(min(val1,val2),val3), 7.0) * _Waves.w) + uv_texture;
	}
}

Your “Waves” property is defined as “float” but you’re assigning a vector.

Change _Waves("Waves & Alpha" , float) = (0.5,0.2,0.5,3.0) to _Waves("Waves & Alpha" , Vector) = (0.5,0.2,0.5,3.0) if that’s what it should be.