Version: 2017.4
public void Render ();




The camera will send OnPreCull, OnPreRender and OnPostRender to any scripts attached, and render any eventual image filters.

This is used for taking precise control of render order. To make use of this feature, create a camera and disable it. Then call Render on it.

You are not able to call the Render function from a camera that is currently rendering. If you wish to do this create a copy of the camera, and make it match the original one using CopyFrom.

See Also: RenderWithShader.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { Texture2D RTImage(Camera cam) { RenderTexture currentRT =; = cam.targetTexture; cam.Render(); Texture2D image = new Texture2D(cam.targetTexture.width, cam.targetTexture.height); image.ReadPixels(new Rect(0, 0, cam.targetTexture.width, cam.targetTexture.height), 0, 0); image.Apply(); = currentRT; return image; } }