# AddRelativeTorque

> Adds a torque to the rigidbody relative to its coordinate system.

## Definition

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

## AddRelativeTorque(Vector3, ForceMode)

Adds a torque to the rigidbody relative to its coordinate system.

```csharp
public void AddRelativeTorque(Vector3 torque, ForceMode mode)
```

### Parameters

**** (\[Vector3]\(/engine/6000.7/script-reference/unityengine/vector3)): Torque vector in local coordinates.**** (\[ForceMode]\(/engine/6000.7/script-reference/unityengine/forcemode)):&#x20;

### Remarks

Force can be applied only to an active rigidbody. If a GameObject is inactive, AddRelativeTorque has no effect.

Wakes up the Rigidbody by default. If the torque size is zero then the Rigidbody will not be woken up.

For more information on how ForceMode affects angular velocity, see [Rigidbody.AddTorque](/engine/6000.7/script-reference/unityengine/rigidbody/addtorque.md).

Additional Resources: [Rigidbody.AddTorque](/engine/6000.7/script-reference/unityengine/rigidbody/addtorque.md), [Rigidbody.AddRelativeForce](/engine/6000.7/script-reference/unityengine/rigidbody/addrelativeforce.md)

### Examples

```csharp
 // Rotate an object around its Y (upward) axis in response to
 // left/right controls.

using UnityEngine;
using UnityEngine.InputSystem;

public class ExampleClass : MonoBehaviour
{
    private float torque = 4;
    private Rigidbody rb;

    void Awake()
    {
        rb = GetComponent<Rigidbody>();
    }

    void FixedUpdate()
    {
        float turnInput = Keyboard.current.spaceKey.isPressed ? 1f : 0f;

        rb.AddRelativeTorque(Vector3.up * torque * turnInput);
    }
}
```

## AddRelativeTorque(float, float, float, ForceMode)

Adds a torque to the rigidbody relative to its coordinate system.

```csharp
public void AddRelativeTorque(float x, float y, float z, ForceMode mode)
```

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Size of torque along the local x-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Size of torque along the local y-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Size of torque along the local z-axis.**** (\[ForceMode]\(/engine/6000.7/script-reference/unityengine/forcemode)):&#x20;

### Remarks

Force can be applied only to an active rigidbody. If a GameObject is inactive, AddRelativeTorque has no effect.

Wakes up the Rigidbody by default. If the torque size is zero then the Rigidbody will not be woken up.
