# Destroy(int)

> Destroy a body, destroying all attached PhysicsShape and PhysicsJoint. If the object is owned with PhysicsBody.SetOwner then you must provide the owner key it returned. Failing to do so will return a warning and the body will not be destroyed.

## Definition

* **Type:** Method
* **Namespace:** [Unity.U2D.Physics](/engine/6000.7/script-reference/unity/u2d/physics.md)
* **Assembly:** UnityEngine.PhysicsCore2DModule

```csharp
public bool Destroy(int ownerKey = 0)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Optional owner key returned when using [PhysicsBody.SetOwner](/engine/6000.7/script-reference/unity/u2d/physics/physicsbody/setowner.md).

### Returns

| Type                                                          | Description                                                                |
| ------------------------------------------------------------- | -------------------------------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | Returns `true` if the body was successfully destroyed. Otherwise, `false`. |

### Remarks

Unity produces an error in the Console window if you try to destroy a body that no longer exists. Check [\_isValid](/engine/6000.7/script-reference/unity/u2d/physics/physicsbody/isvalid.md) first.

Additional Resources: [PhysicsWorld.DestroyBodyBatch](/engine/6000.7/script-reference/unity/u2d/physics/physicsworld/destroybodybatch.md)

### Examples

```csharp
// Create a physics body, then destroy it when it's no longer needed.
using UnityEngine;
using Unity.U2D.Physics;

public class DestroyBodyExample : MonoBehaviour
{
    void Start()
    {
        PhysicsWorld world = PhysicsWorld.defaultWorld;
        PhysicsBody myBody = world.CreateBody();
        myBody.Destroy();
    }
}
```
