# AddTorque(float, ForceMode2D)

> Apply a torque at the rigidbody's centre of mass.

## Definition

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

```csharp
public void AddTorque(float torque, ForceMode2D mode)
```

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Torque to apply.**** (\[ForceMode2D]\(/engine/6000.3/script-reference/unityengine/forcemode2d)): The force mode to use.

### Remarks

Applying torque to the [Rigidbody2D](/engine/6000.3/script-reference/unityengine/rigidbody2d.md) changes the [Rigidbody2D.angularVelocity](/engine/6000.3/script-reference/unityengine/rigidbody2d/angularvelocity.md) only. This change is scaled (divided) by the rotational [Rigidbody2D.inertia](/engine/6000.3/script-reference/unityengine/rigidbody2d/inertia.md). Therefore, a larger [Rigidbody2D.inertia](/engine/6000.3/script-reference/unityengine/rigidbody2d/inertia.md) results in smaller changes to [Rigidbody2D.angularVelocity](/engine/6000.3/script-reference/unityengine/rigidbody2d/angularvelocity.md), and a smaller [Rigidbody2D.inertia](/engine/6000.3/script-reference/unityengine/rigidbody2d/inertia.md) results in larger changes to [Rigidbody2D.angularVelocity](/engine/6000.3/script-reference/unityengine/rigidbody2d/angularvelocity.md).

When applying torque either as a force or an impulse, you can use any value to get the required change in [Rigidbody2D.angularVelocity](/engine/6000.3/script-reference/unityengine/rigidbody2d/angularvelocity.md). However, if you require a specific change in degrees, then you must first convert the `torque` value into radians by multiplying with [Mathf.Deg2Rad](/engine/6000.3/script-reference/unityengine/mathf/deg2rad.md) then multiplying by the [Rigidbody2D.inertia](/engine/6000.3/script-reference/unityengine/rigidbody2d/inertia.md).

The following example demonstrates this as an impulse:

Additional Resources: [Rigidbody2D.AddForce](/engine/6000.3/script-reference/unityengine/rigidbody2d/addforce.md), [Rigidbody2D.AddForceAtPosition](/engine/6000.3/script-reference/unityengine/rigidbody2d/addforceatposition.md).

### Examples

```csharp
using UnityEngine;

public class TorqueRotationExample : MonoBehaviour
{
    // Add an impulse which produces a change in angular velocity (specified in degrees).
    public void AddTorqueImpulse(float angularChangeInDegrees)
    {
        var body = GetComponent<Rigidbody2D>();
        var impulse = (angularChangeInDegrees * Mathf.Deg2Rad) * body.inertia;

        body.AddTorque(impulse, ForceMode2D.Impulse);
    }
}
```
