Pause Game

I have a script from other forums for first person movement. I want to stop the movement when you press escape. I have no idea how to this, any help is appreciated, thanks!

using UnityEngine;
using System.Collections;
    
    [RequireComponent (typeof(CharacterController))]
    public class FirstPersonController : MonoBehaviour {
    	
    	public float movementSpeed = 5.0f;
    	public float mouseSensitivity = 5.0f;
    	public float jumpSpeed = 20.0f;
    	
    	float verticalRotation = 0;
    	public float upDownRange = 60.0f;
    	
    	float verticalVelocity = 0;
    	
    	CharacterController characterController;
    	
    	// Use this for initialization
    	void Start () {
    		Screen.lockCursor = true;
    		characterController = GetComponent<CharacterController>();
    	}
    	
    	// Update is called once per frame
    	void Update () {
    		// Rotation
    		float rotLeftRight = Input.GetAxis("Mouse X") * mouseSensitivity;
    		transform.Rotate(0, rotLeftRight, 0);
    
    		
    		verticalRotation -= Input.GetAxis("Mouse Y") * mouseSensitivity;
    		verticalRotation = Mathf.Clamp(verticalRotation, -upDownRange, upDownRange);
    		Camera.main.transform.localRotation = Quaternion.Euler(verticalRotation, 0, 0);
    		
    
    		// Movement
    		
    		float forwardSpeed = Input.GetAxis("Vertical") * movementSpeed;
    		float sideSpeed = Input.GetAxis("Horizontal") * movementSpeed;
    		
    		verticalVelocity += Physics.gravity.y * Time.deltaTime;
    		
    		if( characterController.isGrounded && Input.GetButton("Jump") ) {
    			verticalVelocity = jumpSpeed;
    		}
    		
    		Vector3 speed = new Vector3( sideSpeed, verticalVelocity, forwardSpeed );
    		
    		speed = transform.rotation * speed;
    		
    		
    		characterController.Move( speed * Time.deltaTime );
    	}
    }

void Update () {
if (Input.GetKeyDown (KeyCode.Escape)) {
if (Time.timeScale == 1) {
Time.timeScale = 0;
} else {
Time.timeScale = 1;
}
}
}

Pauses and unpauses when Escape is pressed.