# 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.0/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.0/script-reference/unityengine/transform/inversetransformvectors.md)

Additional Resources:[Transform.TransformVector](/engine/6000.0/script-reference/unityengine/transform/transformvector.md), [Transform.InverseTransformVectors](/engine/6000.0/script-reference/unityengine/transform/inversetransformvectors.md), [Transform.TransformPoint](/engine/6000.0/script-reference/unityengine/transform/transformpoint.md), [Transform.TransformDirection](/engine/6000.0/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.0/script-reference/unityengine/transform/inversetransformvectors.md)

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