Version: 1.3
LanguageEnglish
  • C#

Application.quitting

Suggest a change

Success!

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.

Close

Submission failed

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

Close

Cancel

Description

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; } }