# PhysicsCallbacks.IPreSolveCallback

> An interface that when implemented by a Object, can be called as a target when a PhysicsShape has _preSolveCallbacks set to true. The PhysicsWorld the PhysicsShape is in also has to have its _preSolveCallbacks set to true.

## Definition

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

```csharp
public interface PhysicsCallbacks.IPreSolveCallback
```

## Methods

| Method                                                                                                               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [OnPreSolve2D](/engine/6000.5/script-reference/unity/u2d/physics/physicscallbacks/ipresolvecallback/onpresolve2d.md) | Called when a contact between a pair of shapes is updated. This allows a contact to be disabled before it goes to the solver. A typical use-case would be to implement a one-way behaviour based upon the provided contact. This is only called if the [PhysicsWorld](/engine/6000.5/script-reference/unity/u2d/physics/physicsworld.md) has [\_preSolveCallbacks](/engine/6000.5/script-reference/unity/u2d/physics/physicsworld/presolvecallbacks.md) set to true. An event is only produced if one of the [PhysicsShape](/engine/6000.5/script-reference/unity/u2d/physics/physicsshape.md)  have [\_preSolveCallbacks](/engine/6000.5/script-reference/unity/u2d/physics/physicsshape/presolvecallbacks.md) set to true. This is only called for Awake Dynamic bodies. This is not called for triggers. |
