It used to be that OnGui was called every frame regardless of Time.timeScale, which meant you could pause the game and then call up a menu and interact with it. Now OnGui is affected by the timescale, so pausing the game pauses the GUI too. Is there any way around this?
what do you mean? i just set the timeScale to 0 and the gui buttons still worked. Can you clarify?
There hasn’t been any change of behavior regarding this. Setting Time.timeScale to 0 never actually “freezes” a game or anything; it still continues to generate frames as fast as possible (potentially limited by vsync), and OnGUI is called every frame regardless of what timeScale is set to. That’s proven by this script:
var x = 0;
function Start () {
Time.timeScale = 0;
}
function OnGUI () {
Debug.Log (x++);
}
–Eric