Heya,
I was investigating of using NGUI with RenderTextures, and while I got it working quite well (UIRoot with FixedSize), this doesn't work unless the rendertexture size matches the actual ingame camera pixel size.
Further more, if you want to have ingame panels such as terminals in FPS's or similar done with NGUI, it won't work at all.
This is all due to the fact that NGUI assumes that the input (pixels in the ingame camera) can be directly translated to the world space using the UICamera. Please correct me if I'm wrong.
What I was able to do with minor modifications is a small proof-of-concept how to get NGUI to render to a RenderTexture and display that on a quad in the world, and be able to access the panel using mouse. I only needed to modify the way UICamera does raycasting, and replace that with a RaycastConversion delegate that does the conversion from screen space coordinates to viewport coordinates for that particular UICamera. Then I implemented a special delegate that does the conversion using a transform placed in the world (quad with the rendertexture). I was even able to add obstruction checks to make it so that the panel doesn't get input if the mouse is obstructed by something.
Is this done before, or is this something that could/should be implemented directly into NGUI?
The funny thing is that I didn't even need the ingame panels, I just though they would be nice thing to implement out of curiosity

What I really needed was a rendertarget which is not the same size as the game viewport.
I can supply my modifications or even an youtube video if needed...
Cheers,
Sampsa / Draconus