# Sway Layer

## Basics

This layer applies procedural aiming and movement sway in runtime.

<figure><img src="broken-reference" alt="" width="327"><figcaption></figcaption></figure>

{% tabs %}
{% tab title="Methods" %}
{% code overflow="wrap" %}
```csharp
public void SetFreeAimEnable(bool enable)
```
{% endcode %}
{% endtab %}
{% endtabs %}

### Settings

You can find settings for this layer in your Weapon Anim Asset:

<figure><img src="broken-reference" alt="" width="131"><figcaption></figcaption></figure>

{% tabs %}
{% tab title="Spring Data" %}
Used for the aiming weapon sway. Let's break down every property:

* Rot/Loc - spring settings for each rotation and translation axis.
  * Stiffness - how much should this oscillate around the target.
  * Damping - how fast should it go to zero.
  * Speed - interpolation speed.
  * Mass - mass of the spring.
  * Max Value - clamp value for this spring.
* Scale - multipliers for each axis.
{% endtab %}

{% tab title="Free Aim Data" %}
Used for free or dead-zone aiming:

* Scalar - scales the value.
* Max Value - maximum allowed dead-zone rotation.
* Speed - interpolation speed.
{% endtab %}

{% tab title="Move Sway Data" %}
This setting controls the movement weapon sway:

* Max Move Loc/Rot Sway - defines maximum allowed movement sway.
* Move Loc/Rot Sway - similar to spring data.
* Loc/Rot Speed - interpolation speed.
{% endtab %}
{% endtabs %}

