How do you modify the pixel color after all lighting passes are done?

I would like to alter the final pixel color after all the additive passes have been done. I thought I may be able to do this with Surface Shaders, and I saw the finalcolor option, but that only seems to come at the end of each pass, rather than after the passes have been done.

Alternatively, is there a way to control how the results from each pass are added?

finalcolor option controls a final color for current pass, so you need to control it in each pass to get an effect you need

it’s a some expensive method to do a finalcolor for all passes - it’s a GrabPass (Unity - Manual: ShaderLab command: GrabPass) - after this pass you can do everything you want in next pass

alternatively it’s a blend options (Unity - Manual: ShaderLab command: Blend) - it controls how pixels calculated in each pass are blending with other pixels that are rendered before