Legacy Documentation: Version 4.6(go to latest)
Language: English
  • C#
  • JS
  • Boo

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



Switch to Manual


Sent to all game objects when the player gets or loses focus.

OnApplicationFocus can be a co-routine, simply use the yield statement in the function. If it is implemented as a coroutine, it will be evaluated twice during the initial frame: first as an early notification and second time during the normal coroutine update step.

	var paused: boolean;

function OnGUI() { // Show a message if the game is paused. if (paused) { GUI.Label(new Rect(100, 100, 50, 30), "Game paused"); } }

function OnApplicationFocus(focusStatus: boolean) { paused = focusStatus; }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public bool paused;
    void OnGUI() {
        if (paused)
            GUI.Label(new Rect(100, 100, 50, 30), "Game paused");
    void OnApplicationFocus(bool focusStatus) {
        paused = focusStatus;
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public paused as bool

	def OnGUI() as void:
		if paused:
			GUI.Label(Rect(100, 100, 50, 30), 'Game paused')

	def OnApplicationFocus(focusStatus as bool) as void:
		paused = focusStatus