Perhaps I'm not using the correct keywords to search but I haven't had any luck in finding out how to do this. I am developing a game for the AppStore using Xcode's sprite kit. I have the main game play on `SKScenePlay.m` and when we click a pause button (an `SKSpriteNode`) on `SKScenePlay`, I transition to `SKScenePause` with the following code:

```
SKScene *PauseScene = [[SKScenePause alloc] initWithSize:self.size];
[self.view presentScene:PauseScene];

```

I have a resume button on the `SKScenePause` that does the following to transition back to `SKScenePlay`: 

```
SKScene *PlayScene = [[SKScenePlay alloc] initWithSize:self.size];
SKTransition *reveal = [SKTransition flipHorizontalWithDuration:0.5];
[self.view presentScene: PlayScene transition:reveal];

```

but when I go back to `SKScenePlay`, the game is reset (score, player position, et cetera). How would I, after pausing the game to go from `SKScenePlay` to `SKScenePause`, transition from `SKScenePause` to back to `SKScenePlay` while saving the state of everything in `SKScenePlay`?

P.S: To actually pause the game, all of the `SKSpriteNode`'s (which are the objects in my game that move and fall around) are children of an `SKNode` \*background, and I set background.paused=true and this pauses all the `SKActions` in `SKScenePlay`.