# PhysicsShape.ContactManifold.ManifoldPoint

> Contains all the detail related to the geometry and dynamics of the contact. You may use the PhysicsShape.ContactManifold.ManifoldPoint.totalNormalImpulse to determine if there was an interaction during the time step.

## Definition

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

```csharp
public struct PhysicsShape.ContactManifold.ManifoldPoint : IEquatable<PhysicsShape.ContactManifold.ManifoldPoint>
```

## Properties

| Property                                                                                                                                | Description                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [anchorA](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/anchora.md)                       | Location of the contact point relative to shapeA's origin in world space. During a pre-contact callback this may be modified, and the solver uses the new value this step.                                                                                                                                                                                                                                                                |
| [anchorB](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/anchorb.md)                       | Location of the contact point relative to shapeB's origin in world space. During a pre-contact callback this may be modified, and the solver uses the new value this step.                                                                                                                                                                                                                                                                |
| [id](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/id.md)                                 | Uniquely identifies a contact point between two shapes. This should not be confused with [PhysicsShape.ContactId](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactid.md).                                                                                                                                                                                                                                           |
| [normalImpulse](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/normalimpulse.md)           | The impulse along the manifold normal vector. During a pre-contact callback this may be modified to seed the solver's warm start for this step.                                                                                                                                                                                                                                                                                           |
| [normalVelocity](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/normalvelocity.md)         | The speed the two shapes were moving towards or away from each other along the manifold normal at the start of the simulation step, in meters per second. A negative value means the shapes were approaching. This is always measured when the contact is bouncy (a bounciness above zero) or either shape has hit events enabled. Otherwise it is usually zero but can hold a measured value, so only rely on it under those conditions. |
| [persisted](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/persisted.md)                   | Did this contact point exist the previous step?                                                                                                                                                                                                                                                                                                                                                                                           |
| [pointA](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/pointa.md)                         | The contact point on the first shape's surface, in world space. Sampled when the contact is updated, so it lags behind when contact recycling is used.                                                                                                                                                                                                                                                                                    |
| [pointB](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/pointb.md)                         | The contact point on the second shape's surface, in world space. Sampled when the contact is updated, so it lags behind when contact recycling is used.                                                                                                                                                                                                                                                                                   |
| [separation](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/separation.md)                 | The separation of the contact point, negative if penetrating. During a pre-contact callback this may be modified, and the solver uses the new value this step.                                                                                                                                                                                                                                                                            |
| [speculative](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/speculative.md)               | Is the contact point speculative i.e. not currently interacting?                                                                                                                                                                                                                                                                                                                                                                          |
| [tangentImpulse](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/tangentimpulse.md)         | The friction impulse. During a pre-contact callback this may be modified to seed the solver's warm start for this step.                                                                                                                                                                                                                                                                                                                   |
| [totalNormalImpulse](/engine/6000.7/script-reference/unity/u2d/physics/physicsshape/contactmanifoldmanifoldpoint/totalnormalimpulse.md) | The total normal impulse applied across sub-stepping and restitution. This includes the warm starting impulse, the sub-step delta impulse, and the restitution impulse. This can be used to identify speculative contact points that had an interaction during the simulation step.                                                                                                                                                       |
