One of my shaders won't compile on my Macbook (works fine on my PC though). I get the following compile error: GLSL compilation failed: ERROR: 0:33: '.' : syntax error: syntax error The shader renders some water with some wave effects Code (Boo): Shader "Environment/Water" { Properties { _Color ("Color", Color) = (1,1,1,1) _FilmColor ("Film Color", Color) = (1,1,1,1) _FilmSize ("Film Size", Float) = 0 _EdgeColor ("Edge Color", Color) = (1,1,1,1) _EdgeSize ("Edge Size", Float) = 0 } SubShader { Tags { "PreviewType" = "Plane" "Queue" = "Transparent" "RenderType" = "Transparent" } Pass { Cull Off ZWrite Off Blend SrcAlpha OneMinusSrcAlpha CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" #include "Assets/Shaders/Includes/CommonFunctions.cginc" struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; }; v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = v.uv; return o; } float _WaterColumns[10]; int _Columns; fixed4 _Color; fixed4 _FilmColor; float _FilmSize; fixed4 _EdgeColor; float _EdgeSize; fixed4 frag (v2f i) : SV_Target { float suv = float2(i.uv.x * _Columns, i.uv.y); float fuv = frac(suv); float iuv = floor(suv); fixed4 col = _Color; float prev = _WaterColumns[max(iuv.x - 1, 0)]; float cur = _WaterColumns[iuv.x]; float next = _WaterColumns[min(iuv.x + 1, _Columns - 1)]; float edge = lerp(lerp(prev, cur, 0.5f), lerp(next, cur, 0.5f), fuv.x); // add film col = lerp(col, _FilmColor, smoothstep(edge - _FilmSize, edge, i.uv.y)); // add line to the edge of the water col = lerp(col, _EdgeColor, smoothstep(edge - _EdgeSize - .0005f, edge - _EdgeSize, i.uv.y)); // soften the edge of the water by smoothsteping the alpha col.a = lerp(0, col.a, 1 - smoothstep(edge, edge + 0.005f, i.uv.y)); return col; } ENDCG } } } Does anyone know what the problem is or have any information on how I can debug this error?