# InverseTransformDirections

> Transforms multiple directions from world space to local space writing the transformed positions to a possibly different location. The opposite of TransformHandle.TransformDirections.

## Definition

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

## InverseTransformDirections(ReadOnlySpan\<Vector3>, Span\<Vector3>)

Transforms multiple directions from world space to local space writing the transformed positions to a possibly different location. The opposite of [TransformHandle.TransformDirections](/engine/6000.7/script-reference/unityengine/transformhandle/transformdirections.md).

```csharp
public void InverseTransformDirections(ReadOnlySpan<Vector3> directions, Span<Vector3> transformedDirections)
```

### Parameters

**** (\[ReadOnlySpan\<Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): The directions to be transformed, these vectors are not modified by the function unless the `transformedDirections` span overlaps.**** (\[Span\<Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.span-1)): Receives the transformed directions, must be the same length as the `directions` span otherwise an exception will be thrown.  If this span overlaps `directions` other than representing the exact same elements the behaviour is undefined.

### Remarks

This operation is not affected by scale or position of the transform. The transformed vectors have the same lengths as the originals.

If you need the inverse operation to transform from local space to world space you can use [TransformHandle.TransformDirections](/engine/6000.7/script-reference/unityengine/transformhandle/transformdirections.md)

You should use [TransformHandle.InverseTransformPoints](/engine/6000.7/script-reference/unityengine/transformhandle/inversetransformpoints.md) if the vectors represent positions in space rather than directions.

Additional Resources:[TransformHandle.InverseTransformDirection](/engine/6000.7/script-reference/unityengine/transformhandle/inversetransformdirection.md), [TransformHandle.TransformDirections](/engine/6000.7/script-reference/unityengine/transformhandle/transformdirections.md), [TransformHandle.InverseTransformPoints](/engine/6000.7/script-reference/unityengine/transformhandle/inversetransformpoints.md), [TransformHandle.InverseTransformVectors](/engine/6000.7/script-reference/unityengine/transformhandle/inversetransformvectors.md).

## InverseTransformDirections(Span\<Vector3>)

Transforms multiple directions from world space to local space overwriting each original position with the transformed version. The opposite of [TransformHandle.TransformDirections](/engine/6000.7/script-reference/unityengine/transformhandle/transformdirections.md).

```csharp
public void InverseTransformDirections(Span<Vector3> directions)
```

### Parameters

**** (\[Span\<Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.span-1)): The directions to be transformed, each is replaced by the transformed version.

### Remarks

This operation is not affected by scale or position of the transform. The transformed vectors have the same lengths as the originals.

If you need the inverse operation to transform from local space to world space you can use [TransformHandle.TransformDirections](/engine/6000.7/script-reference/unityengine/transformhandle/transformdirections.md)

You should use [TransformHandle.InverseTransformPoints](/engine/6000.7/script-reference/unityengine/transformhandle/inversetransformpoints.md) if the vectors represent positions in space rather than directions.

Additional Resources:[TransformHandle.InverseTransformDirection](/engine/6000.7/script-reference/unityengine/transformhandle/inversetransformdirection.md), [TransformHandle.TransformDirections](/engine/6000.7/script-reference/unityengine/transformhandle/transformdirections.md), [TransformHandle.InverseTransformPoints](/engine/6000.7/script-reference/unityengine/transformhandle/inversetransformpoints.md), [TransformHandle.InverseTransformVectors](/engine/6000.7/script-reference/unityengine/transformhandle/inversetransformvectors.md).
