# Angle(Vector3, Vector3)

> Calculates the angle between two vectors.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public static float Angle(Vector3 from, Vector3 to)
```

### Parameters

**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): The vector from which the angular difference is measured.**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): The vector to which the angular difference is measured.

### Returns

| Type                                                          | Description                                   |
| ------------------------------------------------------------- | --------------------------------------------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) | The angle in degrees between the two vectors. |

### Remarks

The angle returned is the angle of rotation from the first vector to the second, when treating these two vector inputs as directions.

Note: The angle returned will always be between 0 and 180 degrees, because the method returns the smallest angle between the vectors. That is, it will never return a reflex angle.

```csharp
using UnityEngine;

public class AngleExample : MonoBehaviour
{
    public Transform target;

    // prints "close" if the z-axis of this transform looks
    // almost towards the target

    void Update()
    {
        Vector3 targetDir = target.position - transform.position;
        float angle = Vector3.Angle(targetDir, transform.forward);

        if (angle < 5.0f)
            print("Close");
    }
}
```

Additional Resources: [Vector3.SignedAngle](/engine/6000.0/script-reference/unityengine/vector3/signedangle.md) function.
