pauseStatus | True if the application is paused, else False. |
Sent to all GameObjects when the application pauses.
OnApplicationPause is set to true or false. Normally, false
is the value returned by the OnApplicationPause message. This
means the game is running normally in the editor. If an editor window
such as the Inspector is chosen the game is paused and
OnApplicationPause returns true. When the game window is
selected and active OnApplicationPause again returns false.
True means that the game is not active.
See Resolution and Presentation
in the Player Settings...
to turn
off Run in Background
and Visible in Background
.
OnApplicationPause can be used in an independent game
running separately from the editor. The running game needs to be windowed
and smaller than the full screen. If the game is hidden (fully or partly)
by another application then OnApplicationPause will return true.
When the game is changed back to current it will no longer be paused and
OnApplicationPause will return to false.
OnApplicationPause can be a co-routine; to do this use the yield statement
in the function. Implemented this way, it is evaluated twice during the initial
frame: first as an early notification, and secondly during the normal co-routine update step.
On Android, when the on-screen keyboard is enabled, it causes a OnApplicationFocus(false) event.
Additionally, if you press "Home" at the moment the keyboard is enabled, the OnApplicationFocus()
event is not called, but OnApplicationPause() is called instead.
Note: MonoBehaviour.OnApplicationPause receives true or false. There is no way to
call this message. Also the keyboard/mouse/etc has no way to control MonoBehaviour.OnApplicationPause.
Pause means the game is running normally or has been suspended.
Note: MonoBehaviour.OnApplicationPause is called as a GameObject starts. The call is made after Awake
. Each GameObject will cause this call to be made.
using UnityEngine;
public class AppPaused : MonoBehaviour { bool isPaused = false;
void OnGUI() { if (isPaused) GUI.Label(new Rect(100, 100, 50, 30), "Game paused"); }
void OnApplicationFocus(bool hasFocus) { isPaused = !hasFocus; }
void OnApplicationPause(bool pauseStatus) { isPaused = pauseStatus; } }
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.