Search Issue Tracker

Fixed

Fixed in 7000.0.0a1

Votes

0

Found in

2020.3.47f1

2021.3.22f1

2022.2.13f1

2023.1.0b10

2023.2.0a9

2023.3.0a3

7000.0.0a1

Issue ID

UUM-32027

Regression

No

"MonoBehaviour.OnApplicationQuit" is still called when quitting is canceled by “Application.wantsToQuit“ returning false

--

-

Reproduction steps:
1. Open the “QuitStripped” project
2. Open the “SampleScene” scene
3. Build And Run
4. Press “Make Application.wantsToQuit return false”
5. Press “Call Application.Quit()”
6. Observe the top left or Player.log

Expected result: “MonoBehaviour.OnApplicationQuit invoked” is not logged
Actual result: “MonoBehaviour.OnApplicationQuit invoked” is logged

Reproduced in: 2020.3.0f1, 2020.3.47f1, 2021.3.22f1, 2022.2.13f1, 2023.1.0b10, 2023.2.0a9

Reproduced using: Windows 11, macOS 13.2.1 (Intel), Ubuntu 20.04 (by the reporter), ArchLinux (by the reporter)

Workarounds: 
1. “Application.quitting” can be used instead of “MonoBehaviour.OnApplicationQuit“
2. "Application.CancelQuit" can be used inside "MonoBehaviour.OnApplicationQuit"

Notes:
1. Related old fixed bug: [https://issuetracker.unity3d.com/product/unity/issues/guid/1261125/]
2. The said bug fix only made “Application.wantsToQuit“ be invoked before “MonoBehaviour.OnApplicationQuit” but “MonoBehaviour.OnApplicationQuit” remained always being called
3. Cannot test in Play Mode because most of quitting API does not work in Editor
4. If this is by design, it should be specified in the "MonoBehaviour.OnApplicationQuit" documentation

  1. Resolution Note (fix version 7000.0.0a1):

    Fixed issues with events and notifications during player quit

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.