Legacy Documentation: Version 2018.2 (Go to current version)
  • C#


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




OnRenderImage is called after all rendering is complete to render image.

Postprocessing effects.

It allows you to modify final image by processing it with shader based filters. The incoming image is source render texture. The result should end up in destination render texture. You must always issue a Graphics.Blit or render a fullscreen quad if you override this method.

When there are multiple image filters attached to the camera, they process image sequentially, by passing first filter's destination as the source to the next filter.

This message is sent to all scripts attached to the camera.

Android: Use the Android Player Settings to make changes. Select the Use 32-bit Display Buffer option to use a post-processing effect with the alpha channel, or experience Banding Effects. The alpha channel is not available in a 16-bit Render Texture.

See Also: Writing Post-Processing Effects.

using UnityEngine;

public class ExampleClass : MonoBehaviour { public Material mat;

void OnRenderImage(RenderTexture src, RenderTexture dest) { // Copy the source Render Texture to the destination, // applying the material along the way. Graphics.Blit(src, dest, mat); } }

Did you find this page useful? Please give it a rating: