Vector3.Angle
static function Angle(from: Vector3, to: Vector3): float;
static float Angle(Vector3 from, Vector3 to);
static def Angle(from as Vector3, to as Vector3) as float
Parameters

from The angle extends round from this vector.
to The angle extends round to this vector.
Description

Returns the angle in degrees between from and to.

The angle returned is always the acute angle between the two vector (ie, the smaller of the two possible angles between them and never greater than 180 degrees).
	// prints "close" if the z-axis of this transform looks
	// almost towards the target

var target : Transform; function Update () { var targetDir = target.position - transform.position; var forward = transform.forward; var angle = Vector3.Angle(targetDir, forward); if (angle < 5.0) print("close"); }
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    public Transform target;
    void Update() {
        Vector3 targetDir = target.position - transform.position;
        Vector3 forward = transform.forward;
        float angle = Vector3.Angle(targetDir, forward);
        if (angle < 5.0F)
            print("close");
        
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	public target as Transform

	def Update() as void:
		targetDir as Vector3 = (target.position - transform.position)
		forward as Vector3 = transform.forward
		angle as float = Vector3.Angle(targetDir, forward)
		if angle < 5.0F:
			print('close')