Unity3D - leaving and then returning to a scene

Effectively, I need to know how to run a mini game and then return to a scene. I know about

DontDestroyOnLoad (this);


but that works for game objects only and doesn’t do what I need - also because it carries the objects over into the next scene. In my game you play as a computer. When you hack into a computer remotely, you have to go into a sort of mini game where you must traverse the computer for data, experience and end up ‘owning’ the computer, having destroyed its security systems. My problem is that this requires being in a different scene, where the hacking 'minigame' is played out, then return. So I could just make a new scene, fine. But when I have to return to the old scene, it has to kick off from the exact point where I left to hack the computer, as if no time had past and with nothing being different. I am stuck on how to do this, because as far as I know there is no way to write a scenes data to a binary file and the read from it when loading the scene again - and persistent data was the only solution I could think of. Any help is appreciated.

Summary

How to play the scene, load a different scene, finish that minigame and then continue from where you were in the original scene

• Do not replace Update or FixedUpdate, just logic inside it. It will look like Update() { currentState.Update(); } where currentState can be any state you want and thus call its own Update() method. Oct 9 '15 at 8:37