I don't are sure is this right place to ask, but i ask now. Why this not print anything? It stop game, but not any menu. Code (csharp): using UnityEngine; using System.Collections; public class pause : MonoBehaviour { public GUISkin Myskin; private Rect windowRect; private Rect optionRect; private bool pauseMenu = false; private bool optionMenu = false; // Use this for initialization void Start () { windowRect = new Rect(Screen.width / 2 - 100, Screen.height / 2 - 100, 200, 200); optionRect = new Rect(Screen.width / 2 - 100, Screen.height / 2 - 100, 200, 200); } // Update is called once per frame void Update () { if (Input.GetKey(KeyCode.P)) { pauseMenu=true; } if (pauseMenu) { Time.timeScale = 0; } else { Time.timeScale = 1; } } private void OnGui() { if (pauseMenu) { windowRect = GUI.Window(0, windowRect, windowFunc, "Pause"); } if (optionMenu) { optionRect = GUI.Window(0, optionRect, optionFunc, "Options"); } } private void windowFunc( int id) { if (GUILayout.Button ("Resume")) { pauseMenu = false; } if (GUILayout.Button("Options")) { optionMenu = true; } if (GUILayout.Button ("Save")) { } if (GUILayout.Button ("Quit")) { Application.LoadLevel("window"); } } private void optionFunc( int id ) { if (GUILayout.Button ("Back")) { optionMenu = false; } } }