Aditive Greyscale Shader (Turns any texture a solid color)

I’ve been looking through all the docs all day and have found nothing. I’m trying to create an additive shader that will color any texture applied one solid color regardless of the texture’s color. It would be a like a greyscale but I want the color to affect the entire color of the texture on the material and be adjustable. I don’t want to edit all the textures in the project and make them colorless with photoshop. Making a shader is a much better approach.

Is this even possible? If someone could help me out that would be great.

Should be pretty simple. Any affine sum of the r, g, and b components will result in a different type of grayscale. The following fragment shader should work, though I haven’t tested it.

float4 frag (v2f i) : COLOR { float4 tex = tex2D(_MainTex, i.texcoord); return _Color * float4(float3((tex.r + tex.g + tex.b) / 3.0), tex.a); }