Shader "Custom/SpeckledShader" { Properties { _MainTex ("Texture", 2D) = "white" {} _SpeckleTex ("Speckle Texture", 2D) = "white" {} _SpeckleIntensity ("Speckle Intensity", Range(0,1)) = 0.5 } 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; sampler2D _SpeckleTex; float _SpeckleIntensity; v2f vert(appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = v.uv; return o; } fixed4 frag(v2f i) : SV_Target { // Main texture color fixed4 col = tex2D(_MainTex, i.uv); // Speckle texture color fixed4 speckle = tex2D(_SpeckleTex, i.uv * 10.0); // Adjust scaling for effect // Combine them col.rgb = lerp(col.rgb, speckle.rgb, _SpeckleIntensity); return col; } ENDCG } } }