Dont destroy on load not working

Alright so I have my main scene set up, and when I leave to a new scene I want to be able to come back to the old one with my character controller still in the last place is was, here is my current script:

    function Update()
    {
    if(Input.GetKey("escape"))
    {
    Application.LoadLevel("Pause menu");
    }
    }

This is the script I tried and had numerous errors with:

    function Update()
    {
    if(Input.GetKey("escape"))
    {
    Application.LoadLevel("Pause menu");
    Application.DontDestroyOnLoad("First Person Controller");
    }
    }

That’s not how Don’tDestroyOnLoad works. Don’tDestroyOnLoad is used to keep the target object not be destroyed when loading a new scene. This means that your character controller will not be destroyed will you move from main scene to new scene.

take a look at the documentation Unity - Scripting API: Object.DontDestroyOnLoad

You want to call the function in Awake() not Update