LookAtMouse.js error

I get this error when I try to use the lookAtMouse.js script from http://www.unifycommunity.com/wiki/index.php?title=LookAtMouse

NullReferenceException: Object reference not set to an instance of an object
LookAtCursor.Update () (at Assets\Scripts\LookAtCursor.js:14)

The script is as from the website

// LookAtMouse will cause an object to rotate toward the cursor, along the y axis.
//
// To use, drop on an object that should always look toward the mouse cursor.
// Change the speed value to alter how quickly the object rotates toward the mouse.

// speed is the rate at which the object will rotate
var speed = 4.0;

function Update () {
    // Generate a plane that intersects the transform's position with an upwards normal.
    var playerPlane = new Plane(Vector3.up, transform.position);
    
    // Generate a ray from the cursor position
    var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
    
    // Determine the point where the cursor ray intersects the plane.
    // This will be the point that the object must look towards to be looking at the mouse.
    // Raycasting to a Plane object only gives us a distance, so we'll have to take the distance,
    //   then find the point along that ray that meets that distance.  This will be the point
    //   to look at.
    var hitdist = 0.0;
    // If the ray is parallel to the plane, Raycast will return false.
    if (playerPlane.Raycast (ray, hitdist)) {
        // Get the point along the ray that hits the calculated distance.
        var targetPoint = ray.GetPoint(hitdist);
        
        // Determine the target rotation.  This is the rotation if the transform looks at the target point.
        var targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
        
        // Smoothly rotate towards the target point.
        transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, speed * Time.deltaTime);
    }
}

The error says its line 14
var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
im guessing that the problem is that I havent set the mouse input correctly? Since im a total n00b at programming could someone point me in the right direction :smile:

Make sure you have a Camera in your scene, and that it has the “MainCamera” tag on it.

Hope that helps.

Thanks a lot! :slight_smile: that did the trick. yay! :smile: