How to restart/re-activate camera to its INITIAL position?

I have camera1 and camera2 with two different rotating behaviors respectively in one scene. When the scene runs, camera1 is activated and start rotating and camera2 remains dead. When I activate the camera2, it starts doing its job, camera1 is deactivate but it remains to its latest position. It will continue its rotation from latest position when I re-activate it.

How to restart the camera1 to its initial position when I re-activate it again?

Codes are below:

var camera1 : Camera;     //set to camera type1

var camera2 : Camera;     //set to camera type2

function Start () { = true; = false;

function Update () { 

       if (Input.GetKeyDown ("2")){  = false; = true;


       if (Input.GetKeyDown ("1")){  = true; = false;



Save the initial position of the cam and reset the cam to this position when activated.

var cam1InitPos : Vector3;

void Start() {
  cam1InitPos = camera1.transform.position;

function Update() {
  if (Input.GetKeyDown("1")) {
    camera1.transform.position = cam1InitPos;

In addition to what spree said, you can also save the rotation of the camera so that you get even the angles correct. Just add this to the above:

In your global list of variables include: var camInitAngles : Vector3;

At the start function include: camInitAngles = camera1.transform.eulerAngles;

At the Update function include: camera1.transform.eulerAngles = camInitAngles;