# PhysicsCallbacks

> All callback interfaces and targets.

## Definition

* **Type:** Struct
* **Namespace:** [Unity.U2D.Physics](/engine/6000.7/script-reference/unity/u2d/physics.md)
* **Assembly:** UnityEngine.PhysicsCore2DModule
* **Implements:** [IEquatable\<PhysicsCallbacks>](https://learn.microsoft.com/dotnet/api/system.iequatable-1)

```csharp
public readonly struct PhysicsCallbacks : IEquatable<PhysicsCallbacks>
```

## Structs

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

## Interfaces

| Interface                                                                                                                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [PhysicsCallbacks.IBodyUpdateCallback](/engine/6000.7/script-reference/unity/u2d/physics/physicscallbacks/ibodyupdatecallback.md)             | An interface that when implemented, can be called as a target by [PhysicsWorld.SendBodyUpdateCallbacks](/engine/6000.7/script-reference/unity/u2d/physics/physicsworld/sendbodyupdatecallbacks.md).                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| [PhysicsCallbacks.IContactCallback](/engine/6000.7/script-reference/unity/u2d/physics/physicscallbacks/icontactcallback.md)                   | An interface that when implemented, can be called as a target by [PhysicsWorld.SendContactCallbacks](/engine/6000.7/script-reference/unity/u2d/physics/physicsworld/sendcontactcallbacks.md).                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [PhysicsCallbacks.IContactFilterCallback](/engine/6000.7/script-reference/unity/u2d/physics/physicscallbacks/icontactfiltercallback.md)       | An interface that when implemented, can be called as a target when a [PhysicsShape](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape.md) has [\_contactFilterCallbacks](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactfiltercallbacks.md) set to true. The [PhysicsWorld](/engine/6000.7/script-reference/unity/u2d/physics/physicsworld.md) the [PhysicsShape](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape.md) is in also has to have its [\_contactFilterCallbacks](/engine/6000.7/script-reference/unity/u2d/physics/physicsworld/contactfiltercallbacks.md) set to true. |
| [PhysicsCallbacks.IJointThresholdCallback](/engine/6000.7/script-reference/unity/u2d/physics/physicscallbacks/ijointthresholdcallback.md)     | An interface that when implemented, can be called as a target by [PhysicsWorld.SendJointThresholdCallbacks](/engine/6000.7/script-reference/unity/u2d/physics/physicsworld/sendjointthresholdcallbacks.md).                                                                                                                                                                                                                                                                                                                                                                                                                           |
| [PhysicsCallbacks.IPreContactCallback](/engine/6000.7/script-reference/unity/u2d/physics/physicscallbacks/iprecontactcallback.md)             | An interface that when implemented, is called as a contact between a pair of shapes is updated, before the contact is solved. The callback receives the full contact manifold and may modify it, or cancel the contact by calling Cancel on the event.                                                                                                                                                                                                                                                                                                                                                                                |
| [PhysicsCallbacks.IPreContinuousCallback](/engine/6000.7/script-reference/unity/u2d/physics/physicscallbacks/iprecontinuouscallback.md)       | An interface that when implemented, is called during the continuous collision stage when a fast-moving shape is about to be stopped short of a shape it would otherwise pass through. Returning false lets the shape continue rather than being stopped at the predicted impact point.                                                                                                                                                                                                                                                                                                                                                |
| [PhysicsCallbacks.ITransformChangedCallback](/engine/6000.7/script-reference/unity/u2d/physics/physicscallbacks/itransformchangedcallback.md) | An interface that when implemented, can be called when using [PhysicsWorld.RegisterTransformChange](/engine/6000.7/script-reference/unity/u2d/physics/physicsworld/registertransformchange.md).                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [PhysicsCallbacks.ITransformWriteCallback](/engine/6000.7/script-reference/unity/u2d/physics/physicscallbacks/itransformwritecallback.md)     | An interface that when implemented, can be called as a target set with [\_transformWriteCallbackTarget](/engine/6000.7/script-reference/unity/u2d/physics/physicsworld/transformwritecallbacktarget.md).                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [PhysicsCallbacks.ITriggerCallback](/engine/6000.7/script-reference/unity/u2d/physics/physicscallbacks/itriggercallback.md)                   | An interface that when implemented, can be called as a target by [PhysicsWorld.SendTriggerCallbacks](/engine/6000.7/script-reference/unity/u2d/physics/physicsworld/sendtriggercallbacks.md).                                                                                                                                                                                                                                                                                                                                                                                                                                         |
