Unassigned Reference Exception?

I’ve been trying to code the player ship for a Lunar Lander style game, however, the script is giving me three errors: The variable rightThruster is unassigned, the variable leftThruster is unassigned, and the variable rightThruster is unassigned (Again).

As far as I can tell, all of the variables have been properly assigned. Could anyone tell me what I’m missing, and explain it a bit so it doesn’t happen again?

#pragma strict

var downThruster: ParticleEmitter;
var topThruster: ParticleEmitter;
var leftThruster: ParticleEmitter;
var rightThruster: ParticleEmitter;

function Start () 
{
	
}

function Update ()
{
	//Moving right
	if(Input.GetAxis("Horizontal") > 0)
	{
		leftThruster.emit = true;
		rightThruster.emit = false;
		rigidbody.AddForce(10,0,0);
	}
	//Moving left
	if(Input.GetAxis("Horizontal") < 0)
	{
		rightThruster.emit = true;
		leftThruster.emit = false;
		rigidbody.AddForce(-10,0,0);
	}
	//Horizontal still
	if(Input.GetAxis("Horizontal") == 0)
	{
		rightThruster.emit = false;
		leftThruster.emit = false;
		rigidbody.AddForce(0,0,0);
	}
	//Moving up
	if(Input.GetAxis("Vertical") > 0)
	{
		downThruster.emit = true;
		topThruster.emit = false;
		rigidbody.AddForce(0,10,0);
	}
	//Moving down
	if(Input.GetAxis("Vertical") < 0)
	{
		topThruster.emit = true;
		downThruster.emit = false;
		rigidbody.AddForce(0,-10,0);
	}
	//Vertical still
	if(Input.GetAxis("Vertical") == 0)
	{
		downThruster.emit = false;
		topThruster.emit = false;
		rigidbody.AddForce(0,0,0);
	}
}

It means exactly what the error says; you didn’t assign anything to those variables in the inspector. Most likely you have the script attached to multiple objects and didn’t assign all the variables on all the objects. When you click on the error, Unity highlights the object in the hierarchy that the error applies to.