Use rendertexture as texture

It’s very slow to read pixels from Rendertexture and make it into texture2d.

RenderTexture.active = myRenderTexture;
myTexture2D.ReadPixels(new Rect(0, 0, myRenderTexture.width, myRenderTexture.height), 0, 0);
myTexture2D.Apply();

So, I tried to use rendertexture as my model’s texture.

modelMaterial.mainTexture = myRenderTexture;

I test it in mobile device.
It works. Not so slow.

I know Rendertexture can be destroyed at some device events, etc.
Link : Unity - Scripting API: RenderTexture

So, I tried to recreate the RenderTexture at some device event.

Is there any other risk to use Rendertexture as model’s texture ?

The risk is sometimes the material using the now-missing render texture shows the default white texture or garbled noise. As long as you recreate it and re-apply it’s fine.