# Translate

> Moves the transform along its x, y, and z axes by the values of the translation parameter's x, y, and z components respectively.

## Definition

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

## Translate(Vector3, Space)

Moves the transform along its x, y, and z axes by the values of the translation parameter's x, y, and z components respectively.

```csharp
public void Translate(Vector3 translation, Space relativeTo)
```

### Parameters

**** (\[Vector3]\(/engine/6000.6/script-reference/unityengine/vector3)): The amount by which to move the Transform.**** (\[Space]\(/engine/6000.6/script-reference/unityengine/space)): The coordinate system in which to apply the translation.

### Remarks

If `relativeTo` is left out or set to [Space.Self](/engine/6000.6/script-reference/unityengine/space/self.md) the movement is applied relative to the transform's local axes. (the x, y and z axes shown when selecting the object inside the Scene View.) If `relativeTo` is [Space.World](/engine/6000.6/script-reference/unityengine/space/world.md) the movement is applied relative to the world coordinate system.

### Examples

```csharp
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        // Move the object forward along its z axis 1 unit/second.
        transformHandle.Translate(Vector3.forward * Time.deltaTime);

        // Move the object upward in world space 1 unit/second.
        transformHandle.Translate(Vector3.up * Time.deltaTime, Space.World);
    }
}
```

## Translate(Vector3)

Moves the transform along its x, y, and z axes by the values of the translation parameter's x, y, and z components respectively.

```csharp
public void Translate(Vector3 translation)
```

### Parameters

**** (\[Vector3]\(/engine/6000.6/script-reference/unityengine/vector3)): The amount by which to move the Transform.

### Remarks

If `relativeTo` is left out or set to [Space.Self](/engine/6000.6/script-reference/unityengine/space/self.md) the movement is applied relative to the transform's local axes. (the x, y and z axes shown when selecting the object inside the Scene View.) If `relativeTo` is [Space.World](/engine/6000.6/script-reference/unityengine/space/world.md) the movement is applied relative to the world coordinate system.

### Examples

```csharp
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        // Move the object forward along its z axis 1 unit/second.
        transformHandle.Translate(Vector3.forward * Time.deltaTime);

        // Move the object upward in world space 1 unit/second.
        transformHandle.Translate(Vector3.up * Time.deltaTime, Space.World);
    }
}
```

## Translate(float, float, float, Space)

Moves the transform by x along the x axis, y along the y axis, and z along the z axis.

```csharp
public void Translate(float x, float y, float z, Space relativeTo)
```

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount by which to move the Transform on the x-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount by which to move the Transform on the y-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount by which to move the Transform on the z-axis.**** (\[Space]\(/engine/6000.6/script-reference/unityengine/space)): The coordinate system in which the translation is applied.

### Remarks

If `relativeTo` is left out or set to [Space.Self](/engine/6000.6/script-reference/unityengine/space/self.md) the movement is applied relative to the transform's local axes. (the x, y and z axes shown when selecting the object inside the Scene View.) If `relativeTo` is [Space.World](/engine/6000.6/script-reference/unityengine/space/world.md) the movement is applied relative to the world coordinate system.

### Examples

```csharp
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        // Move the object forward along its z axis 1 unit/second.
        transformHandle.Translate(0, 0, Time.deltaTime);

        // Move the object upward in world space 1 unit/second.
        transformHandle.Translate(0, Time.deltaTime, 0, Space.World);
    }
}
```

## Translate(float, float, float)

Moves the transform by x along the x axis, y along the y axis, and z along the z axis.

```csharp
public void Translate(float x, float y, float z)
```

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount by which to move the Transform on the x-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount by which to move the Transform on the y-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount by which to move the Transform on the z-axis.

### Remarks

If `relativeTo` is left out or set to [Space.Self](/engine/6000.6/script-reference/unityengine/space/self.md) the movement is applied relative to the transform's local axes. (the x, y and z axes shown when selecting the object inside the Scene View.) If `relativeTo` is [Space.World](/engine/6000.6/script-reference/unityengine/space/world.md) the movement is applied relative to the world coordinate system.

### Examples

```csharp
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        // Move the object forward along its z axis 1 unit/second.
        transformHandle.Translate(0, 0, Time.deltaTime);

        // Move the object upward in world space 1 unit/second.
        transformHandle.Translate(0, Time.deltaTime, 0, Space.World);
    }
}
```

## Translate(Vector3, TransformHandle)

Moves the transform along its x, y, and z axes by the values of the translation parameter's x, y, and z components respectively.

```csharp
public void Translate(Vector3 translation, TransformHandle relativeTo)
```

### Parameters

**** (\[Vector3]\(/engine/6000.6/script-reference/unityengine/vector3)): The amount by which to move the Transform.**** (\[TransformHandle]\(/engine/6000.6/script-reference/unityengine/transformhandle)): Defines the coordinate system used for the translation.

### Remarks

The movement is applied relative to relativeTo's local coordinate system. If `relativeTo` is TransformHandle.None, the movement is applied relative to the world coordinate system.

### Examples

```csharp
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        // Move the object to the right relative to the camera 1 unit/second.
        transformHandle.Translate(Vector3.right * Time.deltaTime, Camera.main.transformHandle);
    }
}
```

## Translate(float, float, float, TransformHandle)

Moves the transform by x along the x axis, y along the y axis, and z along the z axis.

```csharp
public void Translate(float x, float y, float z, TransformHandle relativeTo)
```

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount by which to move the Transform on the x-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount by which to move the Transform on the y-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount by which to move the Transform on the z-axis.**** (\[TransformHandle]\(/engine/6000.6/script-reference/unityengine/transformhandle)): Defines the coordinate system used for the translation.

### Remarks

The movement is applied relative to relativeTo's local coordinate system. If `relativeTo` is TransformHandle.None, the movement is applied relative to the world coordinate system.

### Examples

```csharp
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        // Move the object to the right relative to the camera 1 unit/second.
        transformHandle.Translate(Time.deltaTime, 0, 0, Camera.main.transformHandle);
    }
}
```
