# TransformVector

> Transforms vector from local space to world space.

## Definition

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

## TransformVector(Vector3)

Transforms vector from local space to world space.

```csharp
public Vector3 TransformVector(Vector3 vector)
```

### Parameters

**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)):&#x20;

### Returns

| Type                                                              | Description |
| ----------------------------------------------------------------- | ----------- |
| [Vector3](/engine/6000.0/script-reference/unityengine/vector3.md) |             |

### Remarks

This operation is not affected by position of the transform, but it is affected by scale. The returned vector may have a different length than vector.

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

If you need to transform many vectors at once consider using [Transform.TransformVectors](/engine/6000.0/script-reference/unityengine/transform/transformvectors.md) instead as it is much faster than repeatedly calling this function.

Additional Resources:[Transform.TransformVectors](/engine/6000.0/script-reference/unityengine/transform/transformvectors.md), [Transform.InverseTransformVector](/engine/6000.0/script-reference/unityengine/transform/inversetransformvector.md), [Transform.TransformPoint](/engine/6000.0/script-reference/unityengine/transform/transformpoint.md), [Transform.TransformDirection](/engine/6000.0/script-reference/unityengine/transform/transformdirection.md).

## TransformVector(float, float, float)

Transforms vector x, y, z from local space to world space.

```csharp
public Vector3 TransformVector(float x, float y, float z)
```

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): **** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): **** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)):&#x20;

### Returns

| Type                                                              | Description |
| ----------------------------------------------------------------- | ----------- |
| [Vector3](/engine/6000.0/script-reference/unityengine/vector3.md) |             |

### Remarks

This operation is not affected by position of the transform, but is is affected by scale. The returned vector may have a different length than vector.

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

If you need to transform many vectors at once consider using [Transform.TransformVectors](/engine/6000.0/script-reference/unityengine/transform/transformvectors.md) instead as it is much faster than repeatedly calling this function.

Additional Resources:[Transform.TransformVectors](/engine/6000.0/script-reference/unityengine/transform/transformvectors.md), [Transform.InverseTransformVector](/engine/6000.0/script-reference/unityengine/transform/inversetransformvector.md), [Transform.TransformPoint](/engine/6000.0/script-reference/unityengine/transform/transformpoint.md), [Transform.TransformDirection](/engine/6000.0/script-reference/unityengine/transform/transformdirection.md).
