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

# Making adjustments

> Tune Sci-Fi FPS Pack procedural features and animation curve properties for first-person or hybrid controllers.

export const productName_1 = "Sci-Fi FPS Pack"

export const aimTarget_0 = "FirstPersonSocket"

export const firstPersonClip_0 = "A_FP_ARX_Idle"

export const hybridClip_0 = "A_FP_TP12_Idle"

export const productName_0 = "Sci-Fi FPS Pack"

export const basePose_0 = "A_FP_ARX_Idle"

export const proceduralAsset_0 = "PA_Template_SciFi_FPS"

Start with a character that has been configured and retargeted. Test changes on one weapon before applying the same approach to the rest of the pack.

## Gameplay Animation Controller

`GameplayAnimationController` is the shared animation entry point for {productName_0}. It combines the base animation pose, mapped skeleton, animation overrides, and active procedural asset.

<Frame caption="Gameplay Animation Controller inputs and base animation settings.">
  <img src="https://mintcdn.com/kinemation/RCvIweYDV3EFddxo/images/gameplay-framework/unity/gameplay-framework-components.png?fit=max&auto=format&n=RCvIweYDV3EFddxo&q=85&s=d41da135ce27f48075e707761ae22c20" alt="Gameplay Animation Controller General tab in the Unity Inspector" width={860} data-path="images/gameplay-framework/unity/gameplay-framework-components.png" />
</Frame>

| Area           | What to adjust                                      | Use case                                                                                                                                                   |
| -------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **General**    | **Weight**, **Base Pose**, and **Procedural Asset** | Set the controller's total influence, reference pose, and default procedural profile. {productName_0} uses <code>{basePose_0}</code> as its starting pose. |
| **Skeleton**   | Rig preset and bone mappings                        | Remap after you change the character hierarchy. Every feature resolves its bones through this map.                                                         |
| **Procedural** | Active `GameplayProceduralAsset`                    | Inspect the resolved feature stack. Assign <code>{proceduralAsset_0}</code> in **General** when this tab has no asset.                                     |
| **Override**   | `GameplayAnimationOverride` list                    | Retarget pack animations and controllers to one or more target characters.                                                                                 |

<Frame caption="Select the procedural asset from the General tab before editing features.">
  <img src="https://mintcdn.com/kinemation/RCvIweYDV3EFddxo/images/gameplay-framework/unity/gameplay-animation-controller-procedural.png?fit=max&auto=format&n=RCvIweYDV3EFddxo&q=85&s=e8b92ebf27af2a110e77090d51b77949" alt="Gameplay Animation Controller Procedural tab asking for a procedural asset" width={860} data-path="images/gameplay-framework/unity/gameplay-animation-controller-procedural.png" />
</Frame>

## Procedural assets

A `GameplayProceduralAsset` defines a default idle pose, an optional overlay controller, blend timing, and an ordered list of features. The equipped `GameplayItemView` can provide a weapon-specific asset, so tune the profile assigned to the item you are testing.

<Frame caption={`${productName} procedural feature stack.`}>
  <img src="https://mintcdn.com/kinemation/RCvIweYDV3EFddxo/images/gameplay-framework/unity/gameplay-procedural-asset.png?fit=max&auto=format&n=RCvIweYDV3EFddxo&q=85&s=9055cd28679bac34c51937e7a0f80f30" alt={`${productName} procedural asset with Viewmodel Offset, ADS, Procedural Additives, Sway, and Aim Offset`} width={860} data-path="images/gameplay-framework/unity/gameplay-procedural-asset.png" />
</Frame>

Use the pencil action beside a feature to create a local feature override. The override inherits the parent asset and replaces only that feature. Use it for weapon-specific offsets without duplicating the complete procedural stack.

<Frame caption="Create a local override for one procedural feature.">
  <img src="https://mintcdn.com/kinemation/RCvIweYDV3EFddxo/images/gameplay-framework/unity/override-procedura-feature.png?fit=max&auto=format&n=RCvIweYDV3EFddxo&q=85&s=21b141a9f92b74d33b19c8ac7296861b" alt="Create a local feature override action on a Gameplay Procedural Asset" width={860} data-path="images/gameplay-framework/unity/override-procedura-feature.png" />
</Frame>

### Viewmodel Offset

**Overview.** Viewmodel Offset moves the weapon pivot, weapon bone, and right and left hand IK targets. Position values are authored in centimeters and converted to Unity units at runtime.

<Frame caption="Viewmodel Offset settings.">
  <img src="https://mintcdn.com/kinemation/RCvIweYDV3EFddxo/images/gameplay-framework/unity/viewmodel-offset-feature.png?fit=max&auto=format&n=RCvIweYDV3EFddxo&q=85&s=cab3cf2dc2d94a94d264333c8a667b0a" alt="Viewmodel Offset feature with weapon and hand transform offsets" width={860} data-path="images/gameplay-framework/unity/viewmodel-offset-feature.png" />
</Frame>

**Use cases.** Use **Weapon Pivot Offset** for corrections around the weapon itself. Use **Weapon Bone Offset** for a whole-viewmodel correction in character space. Use the hand offsets only for small grip corrections after the weapon is aligned. Create a local override for each weapon that needs different values.

### Aim Offset

**Overview.** Aim Offset distributes pitch, yaw, and roll across mapped bones. It can also rotate the model in place after the view exceeds **Angle Threshold**.

<Frame caption="Aim Offset and turn-in-place settings.">
  <img src="https://mintcdn.com/kinemation/RCvIweYDV3EFddxo/images/gameplay-framework/unity/aim-offset-feature.png?fit=max&auto=format&n=RCvIweYDV3EFddxo&q=85&s=247d1439ca12bffee5aba2dd4e5aa5b6" alt="Aim Offset feature with pitch, yaw, roll, and turn-in-place settings" width={860} data-path="images/gameplay-framework/unity/aim-offset-feature.png" />
</Frame>

**Use cases.** Leave a bone list empty to use the mapped spine chain automatically. Add explicit elements when a character needs a custom distribution. Keep the summed positive and negative limits near 90 degrees across the chain. Use turn in place for a visible full body; disable it for arms-only viewmodels or when your movement controller already rotates the character.

## Shooter Core procedural features

Shooter Core adds weapon-specific ADS, additive movement, recoil, and sway to the Gameplay Framework procedural stack used by {productName_1}.

### ADS

**Overview.** `ShooterAdsFeature` aligns the mapped weapon bone with an **Aim Target**. It reads the active `WeaponView` aim point and blends position and rotation independently.

<Frame caption="Shooter ADS settings.">
  <img src="https://mintcdn.com/kinemation/107rkvEvtH7qBOZk/images/shooter-core/unity/shooter-ads-feature.png?fit=max&auto=format&n=107rkvEvtH7qBOZk&q=85&s=df66b4a63b611f727a1bb39fcce40f76" alt="Shooter ADS feature with aim target, blend, and speed settings" width={860} data-path="images/shooter-core/unity/shooter-ads-feature.png" />
</Frame>

**Use cases.** Set **Aim Target** to <code>{aimTarget_0}</code> for the supplied first-person setup. Use **Position Blend** and **Rotation Blend** to decide how much of each axis uses absolute alignment. Raise **Aiming Speed** for faster transitions. Raise **Aim Point Speed** when switching sights or aim points should settle faster. Place the sight's aim point transform on the weapon and assign it in `WeaponView`.

### Procedural Additives

**Overview.** `ShooterAdditiveFeature` applies the `weaponBoneAdditive` motion and the output from `RecoilAnimation` to the mapped weapon bone. Separate idle and walk scales are available for hip fire and ADS.

<Frame caption="Shooter Procedural Additives settings.">
  <img src="https://mintcdn.com/kinemation/107rkvEvtH7qBOZk/images/shooter-core/unity/shooter-additive-feature.png?fit=max&auto=format&n=107rkvEvtH7qBOZk&q=85&s=e11705129025e0deaccfe3cdc3ec98f9" alt="Shooter Procedural Additives feature with idle, walk, and aiming scales" width={860} data-path="images/shooter-core/unity/shooter-additive-feature.png" />
</Frame>

**Use cases.** Use **Space Offset** when the additive bone was authored in a different axis convention. Start with `1` for hip-fire idle and walk to preserve the authored motion. Reduce the ADS values when sight alignment must stay stable; the supplied profile uses approximately `0.1` idle and `0.2` walk. Keep a nonzero value when you still want breathing or movement while aiming.

### Sway

**Overview.** `ShooterSwayFeature` applies spring-based movement sway from move input and aiming sway from look delta. Each block has position and rotation springs, clamps, damping, application space, and an ADS scale.

<Frame caption="Shooter Sway settings.">
  <img src="https://mintcdn.com/kinemation/107rkvEvtH7qBOZk/images/shooter-core/unity/shooter-sway-feature.png?fit=max&auto=format&n=107rkvEvtH7qBOZk&q=85&s=0324bd3babba1906c1d5420b1019b2e9" alt="Shooter Sway feature with aiming and movement spring settings" width={860} data-path="images/shooter-core/unity/shooter-sway-feature.png" />
</Frame>

**Use cases.** Tune **Scale** for amplitude, **Speed** for response, **Stiffness** for return force, and **Damping** to remove oscillation. Use clamps to prevent extreme mouse or movement input from displacing the weapon too far. Use component space for predictable first-person motion. Lower **ADS Scale** to keep sights readable while aiming; `0.5` is a practical starting point.

<Tip>
  Tune one feature at a time. Temporarily set the other feature weights to `0`, validate the result in hip fire and ADS, then restore the complete stack.
</Tip>

## Animation curve properties

Gameplay curves control how locomotion and overlay animation combine on each body group. Select an animation clip, then choose **Assets > Edit Gameplay Curve Properties**.

The editor exposes lower body, spine, neck, arms, fingers, and weapon properties.

| Property               | Meaning                                                                                                                                          |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Base Weight**        | Blends from the locomotion mesh pose to the overlay pose. `0` keeps locomotion. `1` uses the overlay result.                                     |
| **Additive Weight**    | Adds the locomotion delta back onto the overlay. `0` adds none. `1` applies the complete locomotion delta.                                       |
| **Local Weight**       | Blends the final bone toward the overlay's local pose. Use `1` when a limb must preserve its authored local relationship.                        |
| **Weapon Bone Weight** | Aligns the weapon bone toward the right hand from `0` to `1`, or toward the left hand from `0` to `-1`. `0` keeps the animated weapon transform. |

Use **+** to add a constant curve and **-** to remove it. Right-click a value to switch between a constant value and an animated curve. Save the clip after each group of changes.

## Recommended starting profiles

These are starting points based on the supplied <code>{firstPersonClip_0}</code> and <code>{hybridClip_0}</code> clips. Tune them after you preview your own locomotion and target rig.

| Body group     | Pure FPS: Base / Additive / Local | Hybrid or full body: Base / Additive / Local |
| -------------- | --------------------------------- | -------------------------------------------- |
| Lower body     | `0.4 / 1 / 0`                     | `0.4 / 1 / 0`                                |
| Spine and neck | `1 / 0 / 0`                       | `1 / 0 / 0`                                  |
| Arms           | `1 / 0 / 0`                       | `0 / 0 / 1`                                  |
| Fingers        | `0 / 0 / 1`                       | `0 / 0 / 1`                                  |

For a pure first-person controller, let the overlay own the spine and arms. This keeps the weapon pose close to the authored animation. For a hybrid controller, preserve the arm local pose while the visible body follows locomotion. This reduces arm drift when the same character must read from first- and third-person cameras.

<Warning>
  Do not copy one profile across every action without previewing it. Reloads, sprint poses, and throwable animations may need different layer weights or an animated transition curve.
</Warning>

## Adjustment order

<Steps>
  <Step title="Fix the reference pose and curves">
    Confirm that the baked clip has the correct body-layer weights before compensating with procedural offsets.
  </Step>

  <Step title="Align the viewmodel">
    Tune **Viewmodel Offset**, then create local overrides for weapons that need unique grips.
  </Step>

  <Step title="Configure ADS">
    Assign the weapon aim point and tune the ADS blend and transition speeds.
  </Step>

  <Step title="Add motion">
    Tune additives, recoil, sway, and Aim Offset in that order. Validate hip fire, ADS, locomotion, reload, and turn-in-place after each change.
  </Step>
</Steps>

<Check>
  The setup is complete when the weapon aligns in ADS, both hands keep their grips, locomotion does not pull the upper body away from the weapon, and the same settings remain stable at your first- and third-person camera distances.
</Check>
