In Unity there are multiple ways to create a “Sprite Diffuse Shader” (meaning that sprites are affected by light sources), using both Shader Graph (URP) or HLSL.

Using Shader Graph


With the addition of the URP (Universal Render Pipeline), or SRP (Scriptable Render Pipeline) you can use the “2D” rendering asset, which already includes a Sprite Diffuse Shader.


If you’re using older versions of Unity, with LWRP or HDRP installed, here’s how you can create a Sprite Diffuse Shader. In this tutorial I’ve used: Lightweight Render Pipeline 2.0.5-preview, Unity 2018.2.0f2.

Here’s what we’ll achieve:

Diffuse Shader

Here’s the shader:

2018 unity febucci shader graph sprite diffuse.jpg


In a few words: Sprite Renders need the sprites texture to be called “_MainText”.


If you want to write a sprite diffuse shader in HLSL, you can go to the Unity Archive and install the built-in shaders for each Unity version.