To answer the second part of your question, in order to put something on top of NGUI, you need to either create a new camera with a higher depth value to draw it with, or use NGUI -- meaning create a new panel with a higher depth than all others. If trying to put a 3D asset on top of NGUI, I recommend rendering whatever 3D asset you want on top to texture instead, then using NGUI to display that texture (via UITexture). I do preview icons in my current WIP game, Sightseer, using this method. Off-screen camera renders to texture when needed.