In order to get shadows working in an Unlit Graph you need to add some important keywords which allow the ShaderLibrary to calculate shadow info. I’ve shared a Custom Lighting for Shader Graph package on github, which can handle this for you. For supporting shadows, use the Main Light Shadows and Additional Lights subgraphs. Both of these will work in Unlit Graphs. Main Light Shadows If you’d instead prefer to handle it yourself, Create these Boolean Keywords in the Shader Graph Blackboard : _MAIN_LIGHT_SHADOWS - Required to calculate shadows _MAIN_LIGHT_SHADOWS_CASCADE - Required to obtain correct shadows when using cascades > 1 _SHADOWS_SOFT - Adds support for the Soft Shadows option Make sure you set the Reference field, and not just the name. Also set them to Multi Compile and Global, and untick Exposed. Can then sample shadows by calculating the shadowCoord : float4 shadowCoord = TransformWorldToShadowCoord(positionWS); Then use one of the following : Light light = GetMainLight(shadowCoord); and light.shadowAttenuation to obtain the shadows. also equivalent to : float shadowAtten = MainLightRealtimeShadow(shadowCoord); (v11+ / 2021.1+) Light light = GetMainLight(shadowCoord, positionWS, shadowMask), which additionally allows supporting the “ShadowMask” baked GI mode. You would typically pass SAMPLE_SHADOWMASK(lightmapUV) into the shadowMask parameter. also equivalent to : float shadowAtten = MainLightShadow(shadowCoord, positionWS, shadowMask, _MainLightOcclusionProbes); Additional Light Shadows For additional lights, you need the following keywords: _ADDITIONAL_LIGHT_SHADOWS - Required to calculate shadows _ADDITIONAL_LIGHTS - Required to prevent the other keyword being stripped from builds In your light loop, you’d then use : (v8 to v10) Light light = GetAdditionalLight(i, positionWS);, again with light.shadowAttenuation to obtain shadows. (v11+ / 2021.1+) Light light = GetAdditionalLight(i, positionWS, shadowMask);. The shadowMask parameter here can either be set to the same SAMPLE_SHADOWMASK(lightmapUV) variable, or can use half4(1,1,1,1) if you don’t require supporting it. You still need to specify the parameter for the function to calculate shadows. For better examples see CustomLighting.hlsl in my Custom Lighting package. Also see the Lighting.hlsl, RealtimeLights.hlsl (v12+) and Shadows.hlsl files in the URP ShaderLibrary. Can find these under the Packages in the Project window, or via Unity/Graphics github.