# FromToRotation(Vector3, Vector3)

> Creates a rotation from fromDirection to toDirection.

## Definition

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

```csharp
public static Quaternion FromToRotation(Vector3 fromDirection, Vector3 toDirection)
```

### Parameters

**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): A non-unit or unit vector representing a direction axis to rotate.**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): A non-unit or unit vector representing the target direction axis.

### Returns

| Type                                                                    | Description                                                        |
| ----------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [Quaternion](/engine/6000.0/script-reference/unityengine/quaternion.md) | A unit quaternion which rotates from fromDirection to toDirection. |

### Remarks

Use this method to rotate a transform so that one of its axes, such as the y-axis, follows the target direction, toDirection, in world space.

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    void Update()
    {
        // Sets the rotation so that the transform's y-axis goes along the global y-axis and the transform's z-axis goes along the global z-axis
        transform.rotation = Quaternion.FromToRotation(transform.up, Vector3.up) * transform.rotation;
        transform.rotation = Quaternion.FromToRotation(transform.forward, Vector3.forward) * transform.rotation;
    }
}
```
