OnApplicationPause() and resuming an iOS game...

When an iOS game resumes from pause, OnApplicationPause() returns false and the game continues…

For those game objects that are do not destroy on load and/or are live when the game resumes, does unity call their the order of execution on those scripts? (awake, start, etc.)

I want to initialize a system on resuming the game (a local push notification system) so the pushes all cancel if the player comes back (so they don’t push during play) but I don’t want to call it twice, as I have it run it’s initialize method in it’s start method for when the game starts.

Do I make a call to it in OnApplicationPause() when it returns false or will the push system start with awake and execute it’s order of execution (or any script for that matter)

I’m fairly certain I know the answer but just wanted to make sure…

I generally try to do as little work as possible in these. I have another script always running called a focus watcher that has a regular old MonoBehavior Update() method and watches for static variables flipped by OnApplicationPause(), then chooses to do stuff based on where you are in the game. Such as if you are playing, it puts the game into pause. If you’re just at a static results screen or the main menu, it does nothing.

As far as what Start/Update/Awake stuff is called, none of that changes. The game is effectively suspended from running on suspend, and OAP is called true, then when it is restored, OAP is called false, and the next frame is rendered.

Generally speaking, here is some timing diagram help: