Is there a way to pause a game besides timeScale=0?

The simplest way to do this and truly pause everything is by overriding this.tick on your app. What I do is store a reference to this.tick on pause and then set it to () => {}.

On resume, I set this.tick back to the old reference and call this.app.tick().

Works like a charm and sends resource consumption down to nearly 0.

Caveat: this still doesn’t pause sounds. For that you’ll want to fire pause and resume events on your app and handle accordingly wherever you’re using sound.

2 Likes