Object reference not set despite assigning instance of an object in GUI

Hiya, i’ve just started looking at Unity today and was following section 6 of [this tutorial.][1]

Currently I have a spotlight looking at the camera which i can move around using WASD. I did this with the a script called Follow.js:

#pragma strict

var target : Transform;

function Start () {

}

function Update () {
	transform.LookAt(target);
}

I was able to set the target in the unity GUI to my camera object with no issue. Then i created this Switch.js script that should simply switch the spotlight to Follow a PhysicsCube object on press of the space bar.

#pragma strict

var switchToTarget : Transform;

function Start () {

}

function Update () {
	if(Input.GetButtonDown("Jump"))
		GetComponent(Follow).target = switchToTarget;
}

Again i set the switchToTarget in the GUI, under the Inspector for Spotlight. [This picture][2] shows what’s relevant.

And yet now when i hit the play button i get - “NullReferenceException: Object reference not set to an instance of an object” at the line - GetComponent(Follow).target = switchToTarget; although i’m certain switchToTarget is set to a cube in the GUI (see picture)
[1]: http://download.unity3d.com/support/documentation/Images/manual/ScriptingTutorial.pdf
[2]: http://i.imgur.com/bVidO.png

It’s not getting the Follow from the GetComponent, which means that whatever that second script is attached to, it doesn’t have a Follow script attached to it. You are on the right lines, check that both scripts are attached to the same object.

If what I said isn’t how you want it to work and you are hoping GetCompnent(Follow) is getting the script on some other game object then that isn’t how it works: in that case you need to find the right game object and call GetComponent on that instead:

  GameObject.Find("SomeName").GetComponent(Follow).target = switchToTarget.