How do you get an object too face the mouse?

I need to know how to make an object follow the mouse in a 2d side view perspective. I also need to know how to make an object look at where the mouse was clicked.

I found this on the wiki (i think) awhile ago. It’s not mine and I can’t remember who wrote it, but I saved it in my useful stuff folder…

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

function FixedUpdate () {
    // 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, mouseFollowSpeed * Time.deltaTime);
		
    }
}

should work if you’re doing the game in true top down (basically flip the y and z axes);

Would this work if I put the plane as the background? Basically rotate the plane vertical, instead of laying down everything else. I’m doing this for a side scroller, and I’m trying to implement a spiting attack.