> ## 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.

# Animation settings

> Tune per-weapon poses, movement, ADS, sway, recoil, and animation overrides.

export const ShooterSettings = ({aimingImage, recoilLink, recoilImage, swayImage}) => <>
    <h2 id="shooter-animation-settings">Shooter animation settings</h2>

    <p>A weapon uses the same holding pose and movement settings as any item, then adds the feel of aiming and firing. <code>BP_Shooter_AnimationSettings</code> extends the Gameplay Framework settings with ADS (aiming down sights), recoil, and sway. Assign this asset to the weapon view's inherited <code>AnimationSettings</code>; its shared and shooter settings travel together when the weapon is equipped.</p>

    <h3 id="aiming">Aiming</h3>

    {aimingImage}
    <table>
    <thead><tr><th>Property</th><th>Effect</th></tr></thead>
    <tbody><tr><td><code>AdsSpeed</code></td><td>Speed of the transition into and out of aiming.</td></tr>
    <tr><td><code>AdsEasing</code></td><td>Shape of that transition.</td></tr>
    <tr><td><code>AdsAdditiveBlend</code></td><td>Amount of additive motion retained while aiming.</td></tr>
    <tr><td><code>AdsFOV</code></td><td>Target camera FOV while aiming. Lower values give a narrower view.</td></tr></tbody>
    </table>

    <h3 id="recoil">Recoil</h3>

    <p><code>RecoilData</code> selects a <code>DA_RecoilData</code> asset. This is where you choose the weapon's recoil profile; edit the selected asset to change the kick, recovery, and shake. See <a href={recoilLink}>Recoil</a>.</p>

    {recoilImage}
    <h3 id="sway">Sway</h3>

    <p><code>MovementSway</code> responds to character movement. <code>AimingSway</code> responds to look input. Both use <code>F_WeaponSway</code>, with separate <code>Position</code> and <code>Rotation</code> settings.</p>

    {swayImage}
    <p>Each position/rotation group uses <code>F_WeaponSwayVector</code>:</p>

    <table>
    <thead><tr><th>Property</th><th>Effect</th></tr></thead>
    <tbody><tr><td><code>Stiffness</code></td><td>Strength of the spring response on each axis.</td></tr>
    <tr><td><code>Damping</code></td><td>How quickly spring oscillation settles.</td></tr>
    <tr><td><code>InterpSpeed</code></td><td>How quickly the driving value follows its target.</td></tr>
    <tr><td><code>SmoothingSpeed</code></td><td>Smooths the resulting response.</td></tr>
    <tr><td><code>ClampValue</code></td><td>Bounds the input where the sway graph applies clamping.</td></tr>
    <tr><td><code>Scale</code></td><td>Per-axis strength and direction. A negative value reverses an axis.</td></tr>
    <tr><td><code>AdsScale</code></td><td>Multiplier while aiming. Reduce it for steadier sights.</td></tr></tbody>
    </table>

    <p>Change one group at a time. Test lateral movement for movement sway and quick mouse turns for aiming sway, then repeat while aiming.</p>

  </>;

export const GameplaySettings = ({generalImage, offsetImage, movementImage, configImage, overrideLink, example}) => <>
    <h2 id="gameplay-animation-settings">Gameplay animation settings</h2>

    <p>Each item has a settings asset describing how the character should hold it and move with it. The item view references that asset through <code>AnimationSettings</code>. When you equip the item, the view passes it to <code>AC_GameplayAnimation</code>, which updates the character's pose and animation layers.</p>
    <p><code>BP_Gameplay_AnimationSettings</code> defines the shared pose, offset, and movement settings below. Weapon settings inherit these and add aiming, recoil, and sway.</p>

    <h3 id="general">General</h3>

    {generalImage}
    <table>
    <thead><tr><th>Property</th><th>What it does</th></tr></thead>
    <tbody><tr><td><code>IdlePose</code></td><td>Supplies the base item-holding pose.</td></tr>
    <tr><td><code>OverlayClass</code></td><td>Selects the Animation Blueprint implementing the gameplay overlay.</td></tr>
    <tr><td><code>ProceduralLayerClass</code></td><td>Selects the Animation Blueprint implementing the procedural layer.</td></tr></tbody>
    </table>

    <p>Use layer classes compatible with the character Skeleton. Changing the idle pose changes how the hands hold the item before procedural adjustments.</p>

    <h3 id="viewmodel-offset">Viewmodel offset</h3>

    <p><code>F_ViewmodelOffset</code> groups four transforms. Each contains location, rotation, and scale.</p>

    {offsetImage}
    <table>
    <thead><tr><th>Transform</th><th>Use</th></tr></thead>
    <tbody><tr><td><code>PivotOffset</code></td><td>Adjust the viewmodel pivot used by procedural positioning.</td></tr>
    <tr><td><code>WeaponOffset</code></td><td>Move or rotate the weapon's resting placement.</td></tr>
    <tr><td><code>RightHandOffset</code></td><td>Adjust the right-hand target.</td></tr>
    <tr><td><code>LeftHandOffset</code></td><td>Adjust the left-hand target.</td></tr></tbody>
    </table>

    <p>Start with <code>WeaponOffset</code> when changing framing. Use hand offsets to correct the grip. Preview both hip fire and aiming after changing offsets.</p>

    <h3 id="movement">Movement</h3>

    <p>Each state uses <code>F_Procedural_Gait</code>: <code>Idle</code>, <code>Walk</code>, <code>Sprint</code>, <code>JumpStart</code>, <code>JumpLoop</code>, and <code>JumpEnd</code>.</p>

    {movementImage}
    <table>
    <thead><tr><th>Property</th><th>Use</th></tr></thead>
    <tbody><tr><td><code>Motion</code></td><td>Animation Sequence used for that movement state.</td></tr>
    <tr><td><code>Intensity</code></td><td>Strength of the motion. Lower it for a quieter pose.</td></tr>
    <tr><td><code>PlayRate</code></td><td>Playback speed. Increase it for a faster motion cycle.</td></tr>
    <tr><td><code>Offset</code></td><td>Additional transform for the state, such as a different sprint pose.</td></tr></tbody>
    </table>

    <p>The character chooses the movement state; this asset controls how it looks.</p>

    <h2 id="configuration-and-overrides">Configuration and overrides</h2>

    <p>Using a different character Skeleton requires retargeted animations and compatible Animation Blueprints. A configuration lists the original assets; an override connects each original to its replacement. Item views can then keep their original references while the animation component selects the versions for your character.</p>
    <p><code>BP_GameplayAnimationConfig</code> collects the source mesh, animations, and classes for this process. It does not control weapon feel; use the per-item settings above for that.</p>

    {configImage}
    <table>
    <thead><tr><th>Config property</th><th>Contents</th></tr></thead>
    <tbody><tr><td><code>CharacterMesh</code></td><td>The source character mesh.</td></tr>
    <tr><td><code>Animations</code></td><td>Animation assets belonging to the configuration.</td></tr>
    <tr><td><code>AnimationBlueprints</code></td><td>Animation Blueprint classes belonging to it.</td></tr></tbody>
    </table>

    <p><code>BP_GameplayAnimationOverride</code> maps that source content to replacements:</p>

    <table>
    <thead><tr><th>Override property</th><th>Contents</th></tr></thead>
    <tbody><tr><td><code>Config</code></td><td>The configuration being replaced.</td></tr>
    <tr><td><code>CharacterMesh</code></td><td>Replacement character mesh.</td></tr>
    <tr><td><code>AnimationOverrides</code></td><td>Original animation → replacement animation.</td></tr>
    <tr><td><code>AnimBlueprintOverrides</code></td><td>Original class → replacement class.</td></tr></tbody>
    </table>

    <p>Add the override to <code>AC_GameplayAnimation.Overrides</code>. Its resolve functions look up replacement sequences, montages, and Animation Blueprint classes. Follow the <a href={overrideLink}>Animation setup guide</a> to prepare a custom character.</p>

    {example}
  </>;

export const Example = () => <p><code>SAS_Gepard</code> uses <code>A_FP_Gepard_Idle</code>, <code>ABP_Overlay_SciFi-FPS</code>, and <code>ABP_Procedural_SciFi-FPS</code>. Its idle intensity is <code>0.5</code>, walk play rate is <code>1.5</code>, and sprint play rate is <code>2</code>. These are the Gepard values, not required defaults for every weapon.</p>;

Open a `SAS_` asset in `Sci-fi_FPS_Pack/Blueprints/Weapons` to tune a weapon's animation. For example, `AC_Gepard` references `SAS_Gepard` through **Animation Settings**. Duplicate the asset and assign your copy there before experimenting.

These assets use `BP_Shooter_AnimationSettings`, which extends the common Gameplay Framework settings. The first group controls poses and movement; the shooter group adds aiming, recoil, and sway.

<GameplaySettings generalImage={<Frame caption="Select the idle pose and linked layer classes."><img src="https://mintcdn.com/kinemation/BvKUc44M8EsdeT19/images/gameplay-framework/unreal/AnimationSettings_General.png?fit=max&auto=format&n=BvKUc44M8EsdeT19&q=85&s=2395d82e5969e45ee45f9678d7d3be5f" alt="Animation settings General fields" /></Frame>} offsetImage={<Frame caption="Adjust weapon placement and hand targets."><img src="https://mintcdn.com/kinemation/BvKUc44M8EsdeT19/images/gameplay-framework/unreal/AnimationSettings_General_ViewmodelOffset.png?fit=max&auto=format&n=BvKUc44M8EsdeT19&q=85&s=e67ae263a71bda213eabf9e5404c43b8" alt="Viewmodel offset transforms" /></Frame>} movementImage={<Frame caption="Each movement state has its own motion, strength, speed, and offset."><img src="https://mintcdn.com/kinemation/BvKUc44M8EsdeT19/images/gameplay-framework/unreal/AnimationSettings_ProceduralMovement.png?fit=max&auto=format&n=BvKUc44M8EsdeT19&q=85&s=1dec5811dbbced0b074bcaac9f5757c3" alt="Procedural movement settings" /></Frame>} configImage={<Frame caption="The config asset groups source animation content."><img src="https://mintcdn.com/kinemation/BvKUc44M8EsdeT19/images/gameplay-framework/unreal/BP_GameplayAnimationConfig.png?fit=max&auto=format&n=BvKUc44M8EsdeT19&q=85&s=d46faee2e81840caeaf0b113967d8d43" alt="Gameplay animation config fields" /></Frame>} overrideLink="/sci-fi-fps-pack/unreal/tutorials/animation-setup" example={<Example />} />

<ShooterSettings aimingImage={<Frame caption="ADS controls the transition, retained additive motion, and camera FOV."><img src="https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/ShooterAnimationSettings_Aiming.png?fit=max&auto=format&n=UM_aaEsISgGp3gjD&q=85&s=b5e57e80a48396370b855ba10c58a449" alt="ADS animation settings" /></Frame>} recoilImage={<Frame caption="Choose the weapon's recoil data asset."><img src="https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/ShooterAnimationSettings_Recoil.png?fit=max&auto=format&n=UM_aaEsISgGp3gjD&q=85&s=74e96ff1b33e7654c99f5df1fd19a3a2" alt="Recoil Data assignment" /></Frame>} swayImage={<Frame caption="Position and rotation have independent sway settings."><img src="https://mintcdn.com/kinemation/UM_aaEsISgGp3gjD/images/shooter-core/unreal/ShooterAnimationSettings_Sway.png?fit=max&auto=format&n=UM_aaEsISgGp3gjD&q=85&s=abfa69b12250ff8d895c0ce9ff7e46ce" alt="Movement and aiming sway fields" /></Frame>} recoilLink="/sci-fi-fps-pack/unreal/general/recoil" />

## Try an adjustment

Duplicate `SAS_Gepard` and assign it to your `AC_Gepard` child view. Change **Ads FOV** from `80` to `70`, equip the weapon, and aim. You should see a narrower view. Restore the value, then try reducing **Idle > Intensity** to compare idle movement.
