warning about missing shader coordinates

I’m using surface shaders so I don’t have to code the lighting by hand, but it seems to require the use of appdata_full, which has everything, tangents, uvs, everything. That’s ok, but my shader doesn’t need everything, it only needs position and normal. Unfortunately using appdata_full marks the shader as needing tangents and texture coordinates too, and when you bind a material on a mesh that doesn’t have the extra data, Unity produces a warning about “shader requires texture coordinates but the mesh doesn’t have them” or some such, same with tangents.

It seems to me that I am stuck, either sending in bogus unnecessary data (slowing things down, eating more memory) using appdata_full, or just don’t give it the data (producing lots of warnings) or give up on surface shaders entirely.

Is there another way out? Can I just disable the warning somehow? Or can Unity please allow us to use other vertex structures besides appdata_full?

the best way is to write your own ‘appdata’ type and use only field you need in shader.