Shaders vs Materials

So I have been doing some digging and I am finding that people are often referring to the material they create in the editor as a shader. From my previous understanding, a shader defines how light reacts to things and a material defines what something should look like under light.

I realize these definitions might not be 100% correct (and any input on that would be appreciated) but my question is, why does it seem that many people are using “shader” to describe the “material” they are making?

In engine terminology we use material to mean the asset an artist creates which describes how a surface or volume reacts to light. It will have properties like BaseColor, Roughness, etc.

A shader however is a graphics API resource, not something that artists will interact with at all. Under the hood a material is compiled into multiple shaders to implement the various rendering features, for example there’s one shader that will handle rendering the material in a shadow depth pass. So when you see a message about compiling shaders, that’s the engine creating the graphics API resources needed to implement the rendering features on your materials.