I have been searching around, looking for a way to apply a full-screen post processing effect on my main camera in the Universal Render Pipeline.
I am trying to develop a CRT-screen by warping the camera view slightly and making scanline effects. I cannot find a way to apply custom post processing effects in URP. I have found one work-around by drawing a full screen quad w/ a material on it, but it doesn’t apply to my UI for whatever reason. (Source:
So I have found a few more resources but am still struggling. Effectively what I am trying to do is find the equivalent of OnRenderImage(){…} from the old render pipeline. I just want to apply a single shader effect to the camera, so I think this is what I need to do:
Render an RenderTexture from my main camera
Assign this render texture to a material which uses a custom shader for CRT-style effects. Create a full-screen Quad and assign the material to it?
Using another camera, display the full screen quad.
Another way of doing this seems to be writing your own Graphics.Blit (from March of this year):
Am I on the right track here? Graphics languages are totally new to me, so I would really appreciate any help I can get. Thank you so much!
EDIT
In the docs, I just noticed this:
“Note: URP’s integrated post-processing solution does not currently support custom post-processing effects. If your Project uses custom post-processing effects, these cannot currently be recreated in URP’s integrated post-processing solution. Custom post-processing effects will be supported in a forthcoming release of URP.”
So then is there really no work-around for custom post-processing effects?
Not sure if this [post ]( Post processing stack v2.0 not working with Universal Rendering Pipeline page-2#post-5279607)will help you, but it does walk through the steps to set up post-processing using Unity 2019.{3,4}.x and some version of URP-7.x. The post-processing system in URP uses volumes, so make sure you have one set up.
I made the mistake of upgrading to Unity 2020.1 and URP-8.1 which seems to completely lack support for custom post-processing. I was able to get the builtin volume overrides to work with URP-8.1 (such as FilmGrain), but haven’t had any luck with a custom volume override yet; I think you should be able to get it to work with URP-7.3 though (can someone confirm that assumption?). It’d be great to get some clear guidance from the Unity team on custom post-processing across different versions of both Unity and the URP package, even if was to say that custom post-processing explicitly does or does not work with XYZ version combination of Unity and the URP package.
I was able to apply custom post processing in URP by downloading two scripts from an example project (Blit.cs / BlitRenderPass.cs) and then applying a material with a custom shader at the end of my render pipeline.