Quaternion.LookRotation
static function LookRotation(forward: Vector3, upwards: Vector3 = Vector3.up): Quaternion;
static Quaternion LookRotation(Vector3 forward, Vector3 upwards = Vector3.up);
static def LookRotation(forward as Vector3, upwards as Vector3 = Vector3.up) as Quaternion
Parameters

forward The direction to look in.
upwards The vector that defines in which direction up is.
Description

Creates a rotation with the specified forward and upwards directions.

Returns the computed quaternion. If used to orient a Transform, the Z axis will be aligned with forward and the Y axis with upwards if these vectors are orthogonal. Logs an error if the forward direction is zero.
	// Most of the time you can use:
	// transform.LookAt instead

var target : Transform; function Update () { var relativePos = target.position - transform.position; var rotation = Quaternion.LookRotation(relativePos); transform.rotation = rotation; }
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    public Transform target;
    void Update() {
        Vector3 relativePos = target.position - transform.position;
        Quaternion rotation = Quaternion.LookRotation(relativePos);
        transform.rotation = rotation;
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	public target as Transform

	def Update() as void:
		relativePos as Vector3 = (target.position - transform.position)
		rotation as Quaternion = Quaternion.LookRotation(relativePos)
		transform.rotation = rotation

See Also: SetLookRotation.