> For the complete documentation index, see [llms.txt](https://hitmans-store.gitbook.io/pras-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hitmans-store.gitbook.io/pras-documentation/fundamentals/types/recoil-data.md).

# Recoil Data

## UStoredData

> Module: RecoilAnimation\Public\StoredData.h

This Data Asset contains target values for the recoil interpolation.

<table><thead><tr><th width="193.33333333333331">Property Name</th><th width="163">Type</th><th>Description</th></tr></thead><tbody><tr><td>PitchAim</td><td>FVector4</td><td>Target values for Pitch when aiming</td></tr><tr><td>YawAim</td><td>FVector4</td><td>Target values for Yaw when aiming</td></tr><tr><td>RollAim</td><td>FVector4</td><td>Target values for Roll when aiming</td></tr><tr><td>PitchHip</td><td>FVector4</td><td>Target values for Pitch when <strong>not</strong> aiming</td></tr><tr><td>YawHip</td><td>FVector4</td><td>Target values for Yaw when <strong>not</strong> aiming</td></tr><tr><td>RollHip</td><td>FVector4</td><td>Target values for Roll when <strong>not</strong> aiming</td></tr><tr><td>KickAim</td><td>FVector2D</td><td>Target values for backward kickback when aiming</td></tr><tr><td>KickAimR</td><td>FVector2D</td><td>Target values for left-side kickback when aiming</td></tr><tr><td>KickAimUp</td><td>FVector2D</td><td>Target values for up kickback when aiming</td></tr><tr><td>KickHip</td><td>FVector2D</td><td>Target values for backward kickback when <strong>not</strong> aiming</td></tr><tr><td>KickHipR</td><td>FVector2D</td><td>Target values for left-side kickback when <strong>not</strong> aiming</td></tr><tr><td>KickHipUp</td><td>FVector2D</td><td>Target values for up kickback when <strong>not</strong> aiming</td></tr><tr><td>AccelRot</td><td>FVector</td><td>How fast to lerp rotation to the Target. X - Roll, Y - Pitch, Z - Yaw</td></tr><tr><td>AccelLoc</td><td>FVector</td><td>How fast to lerp location to the Target</td></tr><tr><td>DampRot</td><td>FVector</td><td>How fast to lerp rotation to zero. X - Roll, Y - Pitch, Z - Yaw</td></tr><tr><td>DampLoc</td><td>FVector</td><td>How fast to lerp location to zero</td></tr><tr><td>PitchDamping</td><td>float</td><td>Damp factor</td></tr><tr><td>PitchStiffness</td><td>float</td><td>How much should oscillate around the Target</td></tr><tr><td>RollDamping</td><td>float</td><td>Damp factor</td></tr><tr><td>RollStiffness</td><td>float</td><td>How much should oscillate around the Target</td></tr><tr><td>KickDamping</td><td>float</td><td>Damp factor</td></tr><tr><td>KickStiffness</td><td>float</td><td>How much should oscillate around the Target</td></tr><tr><td>SmoothRot</td><td>FRotator</td><td>Rotation interpolation speed. Applied only in Auto</td></tr><tr><td>SmoothLoc</td><td>FVector</td><td>Translation interpolation speed. Applied only in Auto</td></tr><tr><td>MultiRot</td><td>FRotator</td><td>Rotation multipliers. Applied only in Auto mode</td></tr><tr><td>MultiLoc</td><td>FVector</td><td>Translation multipliers. Applied only in Auto mode</td></tr><tr><td>PlaybackOffset</td><td>float</td><td>Playback position used for getting start value during Semi-Auto transition</td></tr><tr><td>PlayRate</td><td>float</td><td>Animation speed scale</td></tr></tbody></table>

## FRecoilAnimData

> Module: RecoilAnimation\Public\RecoilAnimationComponent.h

This structure contains information about curves, target values, save-slot name, and many other settings, used by the procedural solver.

Recoil Animation Component tries to find the Stored Data asset (if the passed one is NULL) in the default directory (specified in the Plugin settings). If the asset is found, then the session will be stopped with the error message. However, if the asset wasn't found, then there're 2 possible cases:

* A new asset will be created in the default folder if **bCreateDataAssetIfNull** is true
* The game will be stopped with an error message if **bCreateDataAssetIfNull** is false

**bCreateDataAssetIfNull** is available in the Plugin settings.

The table below shows all the properties of the FRecoilAnimData struct:

<table><thead><tr><th width="173.33333333333331">Property Name</th><th width="184">Type</th><th>Description</th></tr></thead><tbody><tr><td>SingleRot</td><td>Vector curve</td><td>Translation interp curve for single shot</td></tr><tr><td>SingleLoc</td><td>Vector curve</td><td>Rotation interp curve for single shot</td></tr><tr><td>AutoRot</td><td>Vector curve</td><td>Rotation interp curve for the full-auto mode</td></tr><tr><td>AutoLoc</td><td>Vector curve</td><td>Translation interp curve for full-auto shot</td></tr><tr><td>RestRot</td><td>Vector curve</td><td>Rotation interp curve for transition from full-auto to idle</td></tr><tr><td>RestLoc</td><td>Vector curve</td><td>Translation interp curve for transition from full-auto to idle</td></tr><tr><td>SlotName</td><td>FString</td><td>Where animation data will be saved</td></tr><tr><td><del>SolverType</del></td><td><del>ESolverType</del></td><td>Deprecated, used only for backward compatibility</td></tr><tr><td>StoredData</td><td>UStoredData*</td><td>DataAsset that can be edited/saved/loaded in realtime</td></tr></tbody></table>
