MonoBehaviour.OnApplicationFocus(bool)
Description

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 Example : 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 Example(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