# PhysicsCallbacks

> Callback targets for object events.

## Definition

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

```csharp
public readonly struct PhysicsCallbacks
```

## Structs

| Struct                                                                                                                                                            | Description                                                                                                                                                                                                            |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [PhysicsCallbacks.BodyUpdateCallbackTargets](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/bodyupdatecallbacktargets.md)         | Contains all the body update callback targets returned from [PhysicsWorld.GetBodyUpdateCallbackTargets](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/getbodyupdatecallbacktargets.md).   |
| [PhysicsCallbacks.ContactCallbackTargets](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/contactcallbacktargets.md)               | Contains all the contact callback targets returned from [PhysicsWorld.GetContactCallbackTargets](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/getcontactcallbacktargets.md).             |
| [PhysicsCallbacks.JointThresholdCallbackTargets](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/jointthresholdcallbacktargets.md) | Contains all the joint callback targets returned from [PhysicsWorld.GetJointThresholdCallbackTargets](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/getjointthresholdcallbacktargets.md). |
| [PhysicsCallbacks.TriggerCallbackTargets](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/triggercallbacktargets.md)               | Contains all the trigger callback targets returned from [PhysicsWorld.GetTriggerCallbackTargets](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/gettriggercallbacktargets.md).             |

## Interfaces

| Interface                                                                                                                                             | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [PhysicsCallbacks.IBodyUpdateCallback](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/ibodyupdatecallback.md)         | An interface that when implemented by a [Object](/engine/6000.3/script-reference/unityengine/object.md), can be called as a target by [PhysicsWorld.SendBodyUpdateCallbacks](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/sendbodyupdatecallbacks.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [PhysicsCallbacks.IContactCallback](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/icontactcallback.md)               | An interface that when implemented by a [Object](/engine/6000.3/script-reference/unityengine/object.md), can be called as a target by [PhysicsWorld.SendContactCallbacks](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/sendcontactcallbacks.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [PhysicsCallbacks.IContactFilterCallback](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/icontactfiltercallback.md)   | An interface that when implemented by a [Object](/engine/6000.3/script-reference/unityengine/object.md), can be called as a target when a [PhysicsShape](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsshape.md) has [PhysicsShape.contactFilterCallbacks](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsshape/contactfiltercallbacks.md) set to true. The [PhysicsWorld](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld.md) the [PhysicsShape](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsshape.md) is in also has to have its [PhysicsWorld.contactFilterCallbacks](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/contactfiltercallbacks.md) set to true. |
| [PhysicsCallbacks.IJointThresholdCallback](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/ijointthresholdcallback.md) | An interface that when implemented by a [Object](/engine/6000.3/script-reference/unityengine/object.md), can be called as a target by [PhysicsWorld.SendJointThresholdCallbacks](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/sendjointthresholdcallbacks.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| [PhysicsCallbacks.IPreSolveCallback](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/ipresolvecallback.md)             | An interface that when implemented by a [Object](/engine/6000.3/script-reference/unityengine/object.md), can be called as a target when a [PhysicsShape](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsshape.md) has [PhysicsShape.preSolveCallbacks](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsshape/presolvecallbacks.md) set to true. The [PhysicsWorld](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld.md) the [PhysicsShape](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsshape.md) is in also has to have its [PhysicsWorld.preSolveCallbacks](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/presolvecallbacks.md) set to true.                     |
| [PhysicsCallbacks.ITriggerCallback](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicscallbacks/itriggercallback.md)               | An interface that when implemented by a [Object](/engine/6000.3/script-reference/unityengine/object.md), can be called as a target by [PhysicsWorld.SendTriggerCallbacks](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/sendtriggercallbacks.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
