I'm able to take a "screenshot" when Im rendering a normal color rendertexture, and save it into a texture2d When I change to depth mode in the rendertexture, it doesnt input anything. Does somebody know how to convert a depth rendertexture to a normal texture2d? I have a high "map camera" and I need depth info from above, so I can use that in a shader, but I don't want to render twice. I'm using this from the Unity docs: Code (CSharp): Texture2D RTImage(Camera camera) { // The Render Texture in RenderTexture.active is the one // that will be read by ReadPixels. var currentRT = RenderTexture.active; RenderTexture.active = camera.targetTexture; // Render the camera's view. camera.Render(); // Make a new texture and read the active Render Texture into it. Texture2D image = new Texture2D(camera.targetTexture.width, camera.targetTexture.height); image.ReadPixels(new Rect(0, 0, camera.targetTexture.width, camera.targetTexture.height), 0, 0); image.Apply(); // Replace the original active Render Texture. RenderTexture.active = currentRT; return image; } Also I've tried using this: Code (CSharp): Shader.SetGlobalTexture("_LevelDepth", DepthCamera.targetTexture, UnityEngine.Rendering.RenderTextureSubElement.Depth);