> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinemation.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Recoil

> This page covers weapon recoil, recovery, controller recoil, and camera shake settings.

The DL700 selects RD\_DL700 through DA\_DL700. Open Recoil Data in the item’s animation settings to adjust its firing response.

Recoil has three visible effects: the weapon kicks and recovers, the player's aim can climb, and the camera can shake. The weapon view triggers these when a shot fires. The settings let you tune each effect separately.

The character's `AC_RecoilAnimation` generates the weapon motion from a `DA_RecoilData` asset. The animation graph applies its `RecoilAnimation` transform to the weapon and hands. Controller recoil adds look rotation, while the camera component plays the selected shake.

## Connect the component

The weapon view forwards fire, stop, aiming, and fire-mode changes to AC\_RecoilAnimation. Keep those calls together when extending the view.

<table><thead><tr><th>Call</th><th>When to call it</th></tr></thead>
<tbody><tr><td>`Init(NewRecoilData, Firerate)`</td><td>When a weapon becomes active. Pass its recoil asset and fire rate in rounds per minute.</td></tr>
<tr><td>`SetAiming(IsAiming)`</td><td>When entering or leaving ADS.</td></tr>
<tr><td>`SetFireMode(NewFireMode)`</td><td>When changing semi, burst, or auto mode.</td></tr>
<tr><td>`Play`</td><td>On a firing event.</td></tr>
<tr><td>`Stop`</td><td>When firing stops.</td></tr></tbody></table>

The weapon controls ammunition and shot timing. The recoil component controls motion. Feed `RecoilAnimation` into the weapon/hand pose processing; the procedural graph already connects the pack's recoil.

![The weapon view triggers recoil with the shot.](https://mintcdn.com/kinemation/-Xb9vtQBgywM0dwu/images/shooter-core/unreal/AC_WeaponView_OnFire_00000.png?fit=max\&auto=format\&n=-Xb9vtQBgywM0dwu\&q=85\&s=82e7ec1a17bc44ed35c39d6461d2e9aa)

The weapon view triggers recoil with the shot.

## General settings

![Camera shake, pivot, orientation, and playback settings](https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/RecoilDataAsset_General.png?fit=max\&auto=format\&n=UM_aaEsISgGp3gjD\&q=85\&s=e2e53f4a1a566d6d75683a09cef498cc)

General recoil settings.
<table><thead><tr><th>Property</th><th>Effect</th></tr></thead>
<tbody><tr><td>`CameraShake`</td><td>Camera shake asset used for firing feedback.</td></tr>
<tr><td>`HipPivotOffset` / `AimPivotOffset`</td><td>Pivot offset for hip and aimed recoil. Moving the pivot changes the arc of the kick.</td></tr>
<tr><td>`SpaceRotation`</td><td>Reorients recoil to match the animation's axes.</td></tr>
<tr><td>`Playrate`</td><td>Recoil playback speed multiplier.</td></tr>
<tr><td>`PlaybackOffset`</td><td>Adjusts playback timing for repeated shots.</td></tr></tbody></table>

Keep the orientation when changing recoil strength. Changing `SpaceRotation` changes the direction of the motion.

## Hip and aim inputs

![Hip and aim recoil ranges](https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/RecoilDataAsset_Input_Aim_Hip.png?fit=max\&auto=format\&n=UM_aaEsISgGp3gjD\&q=85\&s=476160905a0d9a11db1ac45024089d94)

Separate hip and aim input ranges.

The component chooses hip or aim inputs from the current aiming state.

<table><thead><tr><th>Input</th><th>Effect</th></tr></thead>
<tbody><tr><td>`PitchHip` / `PitchAim`</td><td>Pitch range.</td></tr>
<tr><td>`YawHip` / `YawAim`</td><td>Yaw ranges stored as four values.</td></tr>
<tr><td>`RollHip` / `RollAim`</td><td>Roll ranges stored as four values.</td></tr>
<tr><td>`KickHip` / `KickAim`</td><td>Forward/back kick range.</td></tr>
<tr><td>`KickHipR` / `KickAimR`</td><td>Right-axis kick range.</td></tr>
<tr><td>`KickHipUp` / `KickUpAim`</td><td>Up-axis kick range.</td></tr></tbody></table>

Two-value inputs are random ranges. Yaw and roll use two ranges, `X–Y` and `Z–W`, so a shot can kick to either side without selecting values close to zero.

## Curves

![SingleRot, SingleLoc, AutoRot, and AutoLoc curve assignments](https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/RecoilDataAsset_Curves.png?fit=max\&auto=format\&n=UM_aaEsISgGp3gjD\&q=85\&s=3fb8cb78fc243c83f4041a997cbe421d)

Rotation and location curves for single and automatic firing.

`F_RecoilCurves` contains `SingleRot`, `SingleLoc`, `AutoRot`, and `AutoLoc`. Rotation and location use separate Vector Curves.

The single pair shapes individual shots. The auto pair shapes repeated firing; burst and auto share this recoil path. Match these curves to the weapon's fire rate so recovery and the next shot blend as intended.

## Smoothing

![Recoil smoothing and multipliers](https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/RecoilDataAsset_Smoothing.png?fit=max\&auto=format\&n=UM_aaEsISgGp3gjD\&q=85\&s=89f3cdb4ea4f389916a7de395eb27930)

Per-axis smoothing and strength.
<ul><li>`SmoothRot` and `SmoothLoc` control per-axis interpolation speed.</li>
<li>`MultiRot` and `MultiLoc` scale the resulting rotation and translation.</li>
<li>`bSmoothRoll` controls roll smoothing.</li></ul>

Start with the multipliers when adjusting overall strength. Change curves when you want a different shape or recovery.

## Controller recoil

![Controller recoil step, interpolation, damping, and compensation settings](https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/RecoilDataAsset_ControllerRecoil.png?fit=max\&auto=format\&n=UM_aaEsISgGp3gjD\&q=85\&s=09ef95a001d8fe2e276d0b3573660df9)

Controller recoil changes aim rotation.

`F_ControllerRecoil` adds look-rotation feedback:

<table><thead><tr><th>Property</th><th>Effect</th></tr></thead>
<tbody><tr><td>`HorizontalRecoilStep`</td><td>Random horizontal input per shot.</td></tr>
<tr><td>`VerticalRecoilStep`</td><td>Random vertical input per shot.</td></tr>
<tr><td>`InterpSpeed`</td><td>Per-axis response speed.</td></tr>
<tr><td>`Damping`</td><td>Recovery speed.</td></tr>
<tr><td>`Compensation`</td><td>How much player input compensates for recoil.</td></tr></tbody></table>

This changes the controller's aim. Tune it independently from the visible weapon kick.

## Noise

![Noise adds variation to the kick.](https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/RecoilDataAsset_RecoilNoise.png?fit=max\&auto=format\&n=UM_aaEsISgGp3gjD\&q=85\&s=71012ed91e88b0ea025583a821f2fafc)

Noise adds variation to the kick.

`F_RecoilNoise` adds variation in right/up movement. `Target` sets the per-shot strength, `InterpSpeed` smooths the response, and `Damping` controls recovery. `AimScalar` scales the layer while aiming.

## Pushback

![Pushback adds displacement during repeated shots.](https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/RecoilDataAsset_Pushback.png?fit=max\&auto=format\&n=UM_aaEsISgGp3gjD\&q=85\&s=8ea7b719d81e6c63ca47d82c4fa45128)

Pushback adds displacement during repeated shots.

`F_RecoilPushback` adds sustained backward displacement during repeated firing. `Amount` sets the displacement, `InterpSpeed` controls its response, and `Damping` controls its return.

## Progress

![Progress accumulates pitch and upward movement.](https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/RecoilDataAsset_Progress.png?fit=max\&auto=format\&n=UM_aaEsISgGp3gjD\&q=85\&s=9a993c0b63908fb32573c6b41ef1ba98)

Progress accumulates pitch and upward movement.

`F_RecoilProgress` accumulates pitch and upward movement across shots. Each channel has an `Amount`, `InterpSpeed`, and `Damping`: `PitchAmount`, `PitchInterpSpeed`, `PitchDamping`, `UpAmount`, `UpInterpSpeed`, and `UpDamping`. `AdsScale` reduces or increases the layer while aiming.

## Sway

![Recoil sway adds rotation around a configurable pivot.](https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/RecoilDataAsset_RecoilSway.png?fit=max\&auto=format\&n=UM_aaEsISgGp3gjD\&q=85\&s=bfb507b6506bd1db998eef20ad2a9842)

Recoil sway adds rotation around a configurable pivot.

`F_RecoilSway` adds arm-like movement while firing. It is separate from movement and aiming sway in the animation settings.

<table><thead><tr><th>Property</th><th>Effect</th></tr></thead>
<tbody><tr><td>`PitchSway` / `YawSway`</td><td>Random pitch and yaw contribution.</td></tr>
<tr><td>`RollSwayMultiplier`</td><td>Roll derived from the pitch sway.</td></tr>
<tr><td>`Damping` / `InterpSpeed`</td><td>Recovery and response speed.</td></tr>
<tr><td>`AdsScale`</td><td>Strength while aiming.</td></tr>
<tr><td>`PivotOffset`</td><td>Pivot used to turn the sway rotation into movement.</td></tr></tbody></table>

## Try a change

Duplicate `RD_DL700` from `Blueprints/Recoil/DL700` and assign it through a copy of `DA_DL700`. Reduce one hip recoil range, then compare firing from the hip and through the sights. Keep camera shake and controller recoil unchanged while testing the weapon-motion change.

Test single shots, a sustained burst, aiming, and releasing fire. The weapon should recover without snapping or continuing to kick after firing ends.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.