Hi ! I am using URP. I have an occlusion mask that works fine. The occlusion may vary with an input gradient texture. Here is the occlusion mask: Code (CSharp): Shader "Custom/OcclusionMaskAlpha" { Properties { [MainTexture] _MainTex("BaseMap", 2D) = "white" {} _CutOff("Alpha CutOff", Range(0,1)) = 1 } SubShader{ Tags {"Queue" = "Geometry+10" "RenderType" = "Opaque" "RenderPipeline" = "UniversalRenderPipeline"} ColorMask 0 ZWrite On AlphaTest GEqual [_CutOff] Cull Back AlphaToMask On Pass { SetTexture[_MainTex] { combine texture alpha * primary } } } } I have a plane containing a hole in my scene where the occlusion mask is applied (this is the plane selected in the picture below). The meshes behind the plane are well occludded using the alpha channel of the texture (it's a greyscale image with alpha source from grayscale selected in the import settings). The meshes are using a simple opaque unlit ShaderGraph. I am looking for a way to have two different behaviors for the same occlusion mask. I would like to have some of the meshes occludded using the AlphaTest as if the alpha cutoff was set to 0 (for example the blue ones) and some of the meshes occluded without using the AlphaTest as if the alpha cutoff was set to 1 (the red one for example). I want to achieves this kind of result (this is a gimp work), where alpha test is used on the left, but not on the right. I tried many solutions (Ztest, Zwrite, stencils, post-process features in URP, etc...) without any success. Do you have any idea how to achieve this ? I attached a .unitypackage for convenience.