Keep getting a 'NullReferenceException: Object reference not set to an instance of an object ' error

I keep getting this error when I play my level.

NullReferenceException: Object reference not set to an instance of an object
UnityEngine.GUILayoutUtility.EndLayoutGroup () 
UnityEngine.GUILayout.EndHorizontal () 
UnityEditor.AssetImporterInspector.ApplyRevertGUI () 
UnityEditor.ModelImporterInspector.OnInspectorGUI () 
UnityEditor.InspectorWindow.OnGUI () 
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]

I'm not sure what object this error is referring to. Anyone have any ideas? Is there a way to find out?

This is the code for the character

var walkSpeed : float = 1.0;
var jumpSpeed : float = 5;
var gravity = 10;
var moveDirection : Vector3 = Vector3.zero;
var charController : CharacterController;

function Start()
{
    charController = GetComponent(CharacterController);
    animation.wrapMode = WrapMode.Loop;
}

function Update ()
{
    if(charController.isGrounded == true)
    {
        if(Input.GetAxis("Vertical") > .1)
        {
            if(Input.GetButton("Run"))
            {
                animation["walk"].speed = 5;
                animation.CrossFade("walk");
                walkSpeed = 4;
            }
            else
            {
                animation["walk"].speed = 2;
                animation.CrossFade("walk");
                walkSpeed = 2;

            }
        }
        else if(Input.GetAxis("Vertical") < -.1)
        {
            animation["walk"].speed = -2;
            animation.CrossFade("walk");
            walkSpeed = 2;
        }
        else
        {
            animation.CrossFade("idle");
        }

        // Create an animation cycle for when the character is turning on the spot
        if(Input.GetAxis("Horizontal") && !Input.GetAxis("Vertical"))
        {
            animation.CrossFade("walk");
        }

        transform.eulerAngles.y += Input.GetAxis("Horizontal");

        // Calculate the movement direction (forward motion)
        moveDirection = Vector3(0, -Input.GetAxis("Vertical"), 0);
        moveDirection = transform.TransformDirection(moveDirection);

        //If the jump button is pressed,
        if(Input.GetButtonDown("Jump"))
        {
            //then jump up
            if(charController.isGrounded == true)
                {
                    animation.CrossFade("jump");
                    moveDirection.y += jumpSpeed;                   
                }           
        }       
    }

    moveDirection.y -= gravity * Time.deltaTime;
    charController.Move(moveDirection * (Time.deltaTime * walkSpeed));

}

and this is the code for the camera

// The target we are following
var target : Transform;
// The distance in the x-z plane to the target
var distance = 10.0;
// the height we want the camera to be above the target
var height = 5.0;
// How much we 
var heightDamping = 2.0;
var rotationDamping = 3.0;

// Place the script in the Camera-Control group in the component menu
@script AddComponentMenu("Camera-Control/Smooth Follow")

function LateUpdate () {
    // Early out if we don't have a target
    if (!target)
        return;

    // Calculate the current rotation angles
    wantedRotationAngle = target.eulerAngles.y;
    wantedHeight = target.position.y + height;

    currentRotationAngle = transform.eulerAngles.y;
    currentHeight = transform.position.y;

    // Damp the rotation around the y-axis
    currentRotationAngle = Mathf.LerpAngle (currentRotationAngle, wantedRotationAngle, rotationDamping * Time.deltaTime);

    // Damp the height
    currentHeight = Mathf.Lerp (currentHeight, wantedHeight, heightDamping * Time.deltaTime);

    // Convert the angle into a rotation
    currentRotation = Quaternion.Euler (0, currentRotationAngle, 0);

    // Set the position of the camera on the x-z plane to:
    // distance meters behind the target
    transform.position = target.position;
    transform.position -= currentRotation * Vector3.forward * distance;

    // Set the height of the camera
    transform.position.y = currentHeight;

    // Always look at the target
    transform.LookAt (target);
}'

If it's running in the inspector, you can double click on the error and it'll take you to the line it errored out on.

Also http://answers.unity3d.com/questions/13827/my-script-isnt-working-what-are-some-ways-i-can-start-debugging