Unity raises this event when the Player application is quitting.
Add an event handler to this event to receive a notification that the application is quitting.
Note: The Application.quitting
event is raised when the quitting process cannot be cancelled. Examples of when this event is not raised are: when the Player is forced to quit or if there is a crash.
Android: When an Android application is paused, the Application.quitting
event doesn't get detected. This is because in the paused state, the activity
is no longer visible. As an alternative approach, consider using OnApplicationFocus(bool) or OnApplicationPause(bool). OnApplicationFocus(bool)
is called when the application loses or gains focus. OnApplicationPause(bool)
is called when the application pauses on losing focus or resumes on regaining focus.
iOS: iOS applications are usually suspended because they don't quit unlike non-iOS apps. You should select Exit on Suspend in Player settings for iOS builds to make the game quit and not suspend, otherwise the application quit event might not be triggered. If Exit on Suspend is not enabled, then the quit events are triggered to OnApplicationPause
instead.
UWP: On UWP apps, there's no application quit event. Therefore, consider using OnApplicationFocus
event when focusStatus
equals false.
To prevent the player application from quitting look at the Application.wantsToQuit event.
using UnityEngine;
public class PlayerQuitExample { static void Quit() { Debug.Log("Quitting the Player"); }
[RuntimeInitializeOnLoadMethod] static void RunOnStart() { Application.quitting += Quit; } }
Additional resources: Application.wantsToQuit, The activity lifecycle.