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

URP/SRP

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.

LWRP/HDRP

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

Explanation

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

HLSL

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.