# AddRelativeForce

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

## Definition

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

## AddRelativeForce(Vector3, ForceMode)

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

```csharp
public void AddRelativeForce(Vector3 force, ForceMode mode)
```

### Parameters

**** (\[Vector3]\(/engine/6000.7/script-reference/unityengine/vector3)): Force 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, AddRelativeForce has no effect.

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

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

Additional Resources: [Rigidbody.AddForce](/engine/6000.7/script-reference/unityengine/rigidbody/addforce.md), [Rigidbody.AddForceAtPosition](/engine/6000.7/script-reference/unityengine/rigidbody/addforceatposition.md), [Rigidbody.AddRelativeTorque](/engine/6000.7/script-reference/unityengine/rigidbody/addrelativetorque.md)

### Examples

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

 // Add a thrust force to push an object in its current forward
 // direction (to simulate a rocket motor, say).
public class ExampleClass : MonoBehaviour
{
    public float thrust;
    public Rigidbody rb;
    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void FixedUpdate()
    {
        rb.AddRelativeForce(Vector3.forward * thrust);
    }
}
```

## AddRelativeForce(float, float, float, ForceMode)

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

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

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Size of force along the local x-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Size of force along the local y-axis.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Size of force 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, AddRelativeForce has no effect.

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