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

# 🔌FPS Animation Pack Integration

> This page explains how to integrate the asset with the FPS Animation Pack.

## Importing Content

To make **Tactical Shooter Pack** weapons work with the **FPS Animation Pack**, make sure to import the animations, models and sounds into your project:

<Frame caption={"Import this content only."}>
  <img src="https://mintcdn.com/kinemation/IMbHDDWE_rjJU7jO/images/tactical-shooter-pack/unity/1e466887f47da20e3605.png?fit=max&auto=format&n=IMbHDDWE_rjJU7jO&q=85&s=8999a18531b1cfc7638b5c77887a756f" alt="" width={313} data-path="images/tactical-shooter-pack/unity/1e466887f47da20e3605.png" />
</Frame>

<Tip>
  **Note**: Scripts from the **Tactical Shooter Pack** are not required.
</Tip>

## Animator Controllers

Next, we need to create an Override Animator Controller for our character and weapon. To do this, right-click and select: **Create/Animator Override Controller**:

<Frame caption={"Character controller example."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/bca9a93b2ddd2d28fd24.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=7908f130fe5b81e9a9ae369b69a29d84" alt="" width={363} data-path="images/tactical-shooter-pack/unity/bca9a93b2ddd2d28fd24.png" />
</Frame>

Select the **AC\_FPS\_Character** as the main controller, and then override these properties with clips from the **Tactical Shooter Pack**:

* Jump Start, Loop, End

* Equip Override

* Idle

* Reload Empty, Tac

* Reload Start, Loop End (for the shotgun)

<Warning>
  **Note**: Make sure to use animations from the **Tactical Shooter Pack**, as it uses a different skeleton!
</Warning>

<Frame caption={"Weapon controller example."}>
  <img src="https://mintcdn.com/kinemation/IMbHDDWE_rjJU7jO/images/tactical-shooter-pack/unity/1638152705170bf9b851.png?fit=max&auto=format&n=IMbHDDWE_rjJU7jO&q=85&s=fa5667ca7c1698e384a27f0615227768" alt="" width={362} data-path="images/tactical-shooter-pack/unity/1638152705170bf9b851.png" />
</Frame>

Similarly, create an Animator Controller for the gun using the **AC\_FPS\_Weapon** controller from the **FPS Animation Pack**. Here are the clips that needs to be overridden:

* Fire, Fire Out (Empty)

* Idle

* Reload Empty, Reload Tac

* Reload Start, Loop, End

## Weapon Settings

**FPS Animation Pack** relies on **Weapon Settings** to store weapon-specific properties. To create a new asset, right-click and select **Create/KINEMATION/FPS Animation Pack/Weapon Settings**.

Once created, make sure to assign the previously created Character Controller:

<Frame caption={"Select the controller here."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/826962b12a033236098c.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=936dddba490ba84ba9eeb1a7f75811cc" alt="" width={344} data-path="images/tactical-shooter-pack/unity/826962b12a033236098c.png" />
</Frame>

You can adjust other properties too (e.g., recoil, fire rate, sounds) using the [FPS Animation Pack documentation](/fps-animation-pack/unity/gameplay/weapon-system).

## Weapon Event Sounds

**FPS Animation Pack** plays weapon-specific sounds (e.g., reloads) from the Weapon Event Sounds list:

<Frame caption={"Add weapon-specific sounds here."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/856a9cfafda4b3d1cb42.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=115ae3235add7660f77627e463ac4545" alt="" width={377} data-path="images/tactical-shooter-pack/unity/856a9cfafda4b3d1cb42.png" />
</Frame>

These sounds are played via the **PlayWeaponSound** animation event, which is attached to the weapon animation (clips marked with W):

<Frame caption={"Play Weapon Sound notify."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/d1fb8f299504a4d593be.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=f2cfcffebbd769052ef2da1bd30fc7a5" alt="" width={370} data-path="images/tactical-shooter-pack/unity/d1fb8f299504a4d593be.png" />
</Frame>

You can add these events to weapon clips from the Tactical Shooter Pack.

<Tip>
  **Note**: The Int value represents the index of a sound to play.
</Tip>

## Weapon Prefab

Next, we need to create a new prefab for our weapon. Add the **FPSWeapon** component to it:

<Frame caption={"FPS Weapon component."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/5da023dd315ae7896c87.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=46944aded9c71b3ced0390daca5a538f" alt="" width={373} data-path="images/tactical-shooter-pack/unity/5da023dd315ae7896c87.png" />
</Frame>

Assign the previously created weapon settings. Now add a weapon model and an aim point transform to it:

<Frame caption={"Aim Point is an empty Game Object."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/d21433903969ed91dc5d.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=f14e45a43ab627bff2d56132f88081b0" alt="" width={260} data-path="images/tactical-shooter-pack/unity/d21433903969ed91dc5d.png" />
</Frame>

Make sure to assign the aim point transform in the FPS Weapon component. Next, add the Animator to the weapon model:

<Frame caption={"Assign the previously created controller."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/e95c5066f78e46b7d52f.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=b9f74ac5a4bb7c0fcd8dd21e176c5efd" alt="" width={372} data-path="images/tactical-shooter-pack/unity/e95c5066f78e46b7d52f.png" />
</Frame>

## Character Prefab

Duplicate the `FPSPlayer` prefab from the **FPS Animation Pack**, and add the Operator model from the **Tactical Shooter Pack** to it:

<Frame caption={"New player prefab."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/b39e0e50cf0418661d49.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=5a68e6e91c5aa1786e48914f9a5875b1" alt="" width={261} data-path="images/tactical-shooter-pack/unity/b39e0e50cf0418661d49.png" />
</Frame>

Copy all components from SK\_Arms\_Mono to the SKM\_Operator. Once the setup is complete, you can remove the SK\_Arms\_Mono model.

### Animator

In the Animator component, make sure to set the Avatar to "None", as Operator model doesn't have an Avatar by default.

## FPS Player

Now we need to create Player Settings - this asset contains player-related properties:

<Frame caption={"You only need to add weapon prefabs here."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/280f142d87cd03d2f7a8.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=497f2069a90ea50c8f47deb432adba8a" alt="" width={375} data-path="images/tactical-shooter-pack/unity/280f142d87cd03d2f7a8.png" />
</Frame>

Update the Player Settings and all bone references:

<Frame caption={"Make sure to use bones from the Operator model."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/aef52900652f27560f09.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=51507bbc4b709a70dd397ef7bc180cd2" alt="" width={399} data-path="images/tactical-shooter-pack/unity/aef52900652f27560f09.png" />
</Frame>

<Tip>
  **Note**: ik\_han\_gun\_additive is not a native bone, so add and parent it to the `root` bone as an empty Game Object.
</Tip>

<Frame caption={"Custom bones."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/84fe5bb8904c22749af3.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=4af49522abc491b51c46714278534cfb" alt="" width={214} data-path="images/tactical-shooter-pack/unity/84fe5bb8904c22749af3.png" />
</Frame>

At this point, our character and weapon should be correctly animated using clips from the Tactical Shooter Pack. If something doesn't work as expected, feel free to reach out via [Discord](https://discord.gg/kinemation-1027338787958816860).

## Camera Animations

To make the camera animations work, add the `camera_bone` empty Game Object similarly to the image above. Then, go to the **Camera** component and update the camera\_bone reference:

<Frame caption={"Use the camera_bone from the Operator model!"}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/a750bebe8559f4512cb5.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=31073cfed87919379182e1c106bfc7e2" alt="" width={374} data-path="images/tactical-shooter-pack/unity/a750bebe8559f4512cb5.png" />
</Frame>

## Hiding Mesh Parts

The Operator model is a full-body character, but it's possible to hide some of it meshes to better fit the first-person view. To do this, simply select the meshes you don't want and disable their **Skinned Mesh Renderer**:

<Frame caption={"How to hide character parts."}>
  <img src="https://mintcdn.com/kinemation/-AzWoLR_QWINVM-e/images/tactical-shooter-pack/unity/c09dac76ea5b819896dc.png?fit=max&auto=format&n=-AzWoLR_QWINVM-e&q=85&s=edbff683e2ea09542d86d5dcbc73cf9e" alt="" width={375} data-path="images/tactical-shooter-pack/unity/c09dac76ea5b819896dc.png" />
</Frame>
