RenderTexture tempRT = RenderTexture.GetTemporary(Screen.width, Screen.height);
Camera.main.targetTexture = tempRT;
Camera.main.Render();
yield return null;
Camera.main.targetTexture = null;
yield return null;
// Read the rendertexture contents
RenderTexture.active = tempRT;
if (CapturedScreenshot == null)
CapturedScreenshot = new Texture2D(tempRT.width, tempRT.height, TextureFormat.RGB24, false);
CapturedScreenshot.ReadPixels(new Rect(0, 0, tempRT.width, tempRT.height), 0, 0);
CapturedScreenshot.Apply();
RenderTexture.active = null;
RenderTexture.ReleaseTemporary(tempRT);