So from as far as I can tell there seems to be 3 ways to setup a UI system that is based off the GameState changes in Unity and they are:
1) Load a new scene for each GameState change which has the new UI.
2) Load a prefab of the UI for the GameState change.
3) Have all the UI gameobjects scenes in the start scene with DontDestroyOnLoad, and then active/deactivate them as the GameState changes.
I was wondering if anyone could offer any feedback or advice on which implementations they've done in their games especially with regards to what works best with NGUI, and which seems to be the best for mobile?