# TransformVectors

> Transforms multiple vectors from local space to world space writing the transformed versions to a possibly different location.

## Definition

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

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

Transforms multiple vectors from local space to world space writing the transformed versions to a possibly different location.

```csharp
public void TransformVectors(ReadOnlySpan<Vector3> vectors, Span<Vector3> transformedVectors)
```

### Parameters

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

### Remarks

This operation is not affected by the position of the transform, but is is affected by scale.The transformed vectors may have a different length to the original versions.

If you need the inverse operation to transform from world space to local space you can use [Transform.InverseTransformVectors](/engine/6000.7/script-reference/unityengine/transform/inversetransformvectors.md)

Additional Resources:[Transform.TransformVector](/engine/6000.7/script-reference/unityengine/transform/transformvector.md), [Transform.InverseTransformVectors](/engine/6000.7/script-reference/unityengine/transform/inversetransformvectors.md), [Transform.TransformPoint](/engine/6000.7/script-reference/unityengine/transform/transformpoint.md), [Transform.TransformDirection](/engine/6000.7/script-reference/unityengine/transform/transformdirection.md).

## TransformVectors(Span\<Vector3>)

Transforms multiple vectors from local space to world space overwriting each original vector with the transformed version.

```csharp
public void TransformVectors(Span<Vector3> vectors)
```

### Parameters

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

### Remarks

This operation is not affected by the position of the transform, but it is affected by scale. The transformed vectors may have a different length to the original versions.

If you need the inverse operation to transform from world space to local space you can use [Transform.InverseTransformVectors](/engine/6000.7/script-reference/unityengine/transform/inversetransformvectors.md)

Additional Resources:[Transform.TransformVector](/engine/6000.7/script-reference/unityengine/transform/transformvector.md), [Transform.InverseTransformVectors](/engine/6000.7/script-reference/unityengine/transform/inversetransformvectors.md), [Transform.TransformPoint](/engine/6000.7/script-reference/unityengine/transform/transformpoint.md), [Transform.TransformDirection](/engine/6000.7/script-reference/unityengine/transform/transformdirection.md).
