Why should I use ReadPixels after rendering to texture?

In my project I want to use a RenderTexture in the following way:

  1. On the first frame I will render some stuff into a RenderTexture.
  2. Every frame after that I will Blit the RenderTexture over a portion of the screen (the content of the RenderTexture is going to stay constant for long periods of time - probably a couple of seconds before it needs to be changed).

While looking at the Camera.Render documentation I noticed that the content of the RenderTexture is read back into a Texture2D using ReadPixels. This confused me because if I try to Blit the RenderTexture directly it works fine.

Any ideas why I would want to copy the RenderTexture to a Texture2D before using it?

As long as you don’t re-use the RenderTexture, you can use it just like any other texture. You only need to copy the pixels out if you want to re-use that RenderTexture for something else.