When I test my game I get a Non-working shader that doesn’t serve the intended function which is to change the Emission Color of my troll from black to white. I want to modify the script to change the color over time eventually. Does anyone know why I’m getting this error, or how to write a better C# script that will change the emission color of my troll?

I think there’s some confusion with your names and strings. Replacing “overlay” with “Emission” won’t work. I think overlay is your material name, but you’re trying to use it as a shader name. And using Properties as a shader name won’t work. Here’s a simple test that worked for me:

Material mat = GetComponent<Renderer>().material;
Color newColor = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f));
mat.SetColor("_EmissionColor", newColor);