This might sound like a strange question but it's something I had a hard time figuring out: - In built-in pipeline + forward rendering, if you have a pass with LightMode=ShadowCaster, it will be called in both depth texture pass and shadow caster pass. - With MeshRenderer you can disable shadow casting, so you can have an object that write to depth but don't cast shadow. - But the reverse is more difficult, if you want shadow casting then you need a shadow caster pass, but to disable writing to depth texture, you don't have a flag to do so. - Technically SetShaderPassEnabled should work, but it would probably disable both depth and shadow caster pass (I haven't been able to use it to disable a ShadowCaster pass, so "probably"). - ZWrite off does disable the depth pass, but it also affects ZTest. In short, is what I want not possible in built-in pipeline? I believe SRP gave us more control, but unfortunately our project is not on SRP.