How do Shaders fit into your workflow?

I know a lot of us here use shaders written by us for someone else whether Unity itself, shaderforge, asset store, etc. But for those of you who write your own as I just started doing, how do shaders fit into your workflow? Do you prototype without custom shaders or do you write the shaders before putting your sprites in the project? Me particularly I have a few custom shaders that give me an idea of what can be done with different lighting models and effects which I try out vs the standard mat in my early prototypes. Once I decide I need a custom shader I then write it in a separate project until it’s ready. What do you guys/girls do?

I generally get some sprites up in the scene first, and then start playing around with shaders (including custom ones).

The way I look at it, shaders are eye candy — they don’t make a dull game fun. And the capabilities of shaders are already pretty well known. So they’re not the most high-risk part of the project. I always prefer to address the highest-risk parts first, which generally means gameplay, or tricky technical bits if they’re crucial to game play.

1 Like

That’s true, thank you for the response! Has playing around with the first few shaders ever affected a revision to a sprite you tried to apply to?

Yes, it’s not uncommon that the sprites have to be repainted in a certain way to take advantage of a custom shader. So, in that case, you certainly do want to develop that shader early in the dev cycle, before too many of your art assets are done.

1 Like

If you don’t mind me asking because I’m really new to graphics work, but what are you basic custom shaders you use for prototyping like? Do you have a bunch or a preferred lighting model? My four basic test shaders apply a half-lambert lighting model and clip the needed alpha obviously, one has a photoshop like “Levels” effect with blinn phong lighting, a basic diffuse/emissive glowing one, then the last is just a modification of the first that can blend a texture onto it. Do you have any shader tip or preferences you’d recommend I try out? And thank you for your response once again!

For prototyping, I just use either the Unity standard shader or the standard Sprite shader. Both of these are really quite powerful, and plenty good enough until you’re doing something unusual.