# Rigidbody2D.SlideMovement

> The configuration that controls how a Rigidbody2D.Slide method behaves.

## Definition

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

```csharp
public struct Rigidbody2D.SlideMovement
```

## Remarks

**NOTE:** This struct can be used in the Unity Inspector for configuration purposes.

Additional Resources: [Rigidbody2D.Slide](/engine/6000.0/script-reference/unityengine/rigidbody2d/slide.md) and [Rigidbody2D.SlideResults](/engine/6000.0/script-reference/unityengine/rigidbody2d/slideresults.md).

## Properties

| Property                                                                                                            | Description                                                                                                                                                                                                                                                                             |
| ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [gravity](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/gravity.md)                         | The gravity to be applied to the slide position.                                                                                                                                                                                                                                        |
| [gravitySlipAngle](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/gravityslipangle.md)       | When the gravity movement causes a contact with a [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md), slippage maybe occur if the surface angle is greater than this angle.                                                                                        |
| [layerMask](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/layermask.md)                     | A [LayerMask](/engine/6000.0/script-reference/unityengine/layermask.md) that will be used when determining what [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) should be detected.                                                                             |
| [maxIterations](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/maxiterations.md)             | Controls the maximum number of iterations to perform when determining how a [Rigidbody2D](/engine/6000.0/script-reference/unityengine/rigidbody2d.md) will slide.                                                                                                                       |
| [selectedCollider](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/selectedcollider.md)       | The specific [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) attached to this [Rigidbody2D](/engine/6000.0/script-reference/unityengine/rigidbody2d.md) to be used to detect contacts.                                                                          |
| [startPosition](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/startposition.md)             | The start position to slide the [Rigidbody2D](/engine/6000.0/script-reference/unityengine/rigidbody2d.md) from.                                                                                                                                                                         |
| [surfaceAnchor](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/surfaceanchor.md)             | The direction and distance to use when detecting if a surface is nearby during a slide iteration.                                                                                                                                                                                       |
| [surfaceSlideAngle](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/surfaceslideangle.md)     | When the velocity movement causes a contact with a [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md), a slide maybe occur if the surface angle is less than this angle.                                                                                           |
| [surfaceUp](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/surfaceup.md)                     | A reference direction used to calculate contact angles.                                                                                                                                                                                                                                 |
| [useAttachedTriggers](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/useattachedtriggers.md) | Can be used to select whether any [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) attached to this [Rigidbody2D](/engine/6000.0/script-reference/unityengine/rigidbody2d.md) (that are configured as a trigger) are used to detect contacts.                    |
| [useLayerMask](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/uselayermask.md)               | Whether the specified [Rigidbody2D.SlideMovement.layerMask](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/layermask.md) should be used or not when determining what [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) should be detected. |
| [useNoMove](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/usenomove.md)                     | Controls if any [Rigidbody2D](/engine/6000.0/script-reference/unityengine/rigidbody2d.md) movement will happen or not.                                                                                                                                                                  |
| [useSimulationMove](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/usesimulationmove.md)     | Controls whether the [Rigidbody2D](/engine/6000.0/script-reference/unityengine/rigidbody2d.md) is instantly moved to the calculated position or is moved with [Rigidbody2D.MovePosition](/engine/6000.0/script-reference/unityengine/rigidbody2d/moveposition.md).                      |
| [useStartPosition](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/usestartposition.md)       | Whether the specified [Rigidbody2D.SlideMovement.startPosition](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/startposition.md) should be used or not.                                                                                                          |

## Methods

| Method                                                                                                        | Description                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [SetLayerMask](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/setlayermask.md)         | A helper method that simultaneously sets both the [Rigidbody2D.SlideMovement.layerMask](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/layermask.md) to the specified mask but also sets [Rigidbody2D.SlideMovement.useLayerMask](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/uselayermask.md) to true.                      |
| [SetStartPosition](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/setstartposition.md) | A helper method that simultaneously sets both the [Rigidbody2D.SlideMovement.startPosition](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/startposition.md) to the specified /position but also sets [Rigidbody2D.SlideMovement.useStartPosition](/engine/6000.0/script-reference/unityengine/rigidbody2d/slidemovement/usestartposition.md) to true. |
