Quick answer: Pick RenderPassEvent based on what your source needs. AfterRenderingTransparents for a full-color screen effect, BeforeRenderingPostProcessing if you want it pre-tonemap, AfterRenderingPostProcessing for a final UI-style overlay. Use the camera color RTHandle as the source.

Custom Renderer Feature blits a fullscreen shader. Output is black or one frame stale. Wrong RenderPassEvent: the source buffer hasn’t been written yet at that point in the frame.

The Symptom

Renderer Feature compiles, runs, but result is black, garbage, or last-frame content. Same shader applied via Volume effect produces correct output.

The Fix

public class MyEffectFeature : ScriptableRendererFeature
{
    [Serializable]
    public class Settings
    {
        public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingTransparents;
        public Material material;
    }
    public Settings settings;

    private MyEffectPass _pass;

    public override void Create()
    {
        _pass = new MyEffectPass(settings.material) { renderPassEvent = settings.renderPassEvent };
    }

    public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData rd)
    {
        renderer.EnqueuePass(_pass);
    }
}

Inside the pass, get the camera color and blit:

public override void Execute(ScriptableRenderContext ctx, ref RenderingData rd)
{
    var cmd = CommandBufferPool.Get("MyEffect");
    var source = rd.cameraData.renderer.cameraColorTargetHandle;
    cmd.SetRenderTarget(_tempRT);
    cmd.Blit(source, _tempRT, _material);
    cmd.Blit(_tempRT, source);
    ctx.ExecuteCommandBuffer(cmd);
    CommandBufferPool.Release(cmd);
}

Pick the Right Event

Verifying

Frame Debugger → step through. Your custom pass should appear at the expected event. Output should match the camera color at that moment, then be transformed by your shader.

“Right event for the source. RTHandle for the buffer. Effect renders.”

Related Issues

For Volume not applying, see Volume. For SRP Batcher, see SRP Batcher.

Pick the event. Use the handle. Effect appears.