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

# Character setup

> Add the Sci-Fi FPS Pack components, camera, input, and skeleton mapping to a custom Unity character.

export const productName_0 = "Sci-Fi FPS Pack"

export const packConfigName_0 = "Sci-Fi FPS"

export const controllerComponent_0 = "ShooterControllerExample"

export const postSetupNote_0 = "The Sci-Fi config assigns the supplied Player input map, first-person camera settings, six item prefabs, and Shooter Controller Example defaults. Pack Setup reuses compatible components already present on the character."

This page configures the runtime foundation before you retarget any animations.

## Before you begin

* Import the Sci-Fi FPS Pack and resolve all script compilation errors.
* Add the Input System package used by the supplied example controller.
* Prepare one character prefab or model with an `Animator`.
* Open an editable scene.

## Set up {productName_0}

Use Pack Setup to add the shared Gameplay Framework components to your character.

<Steps>
  <Step title="Add your character to the scene">
    Drag the character prefab or model into an editable scene. Select the character root that contains the `Animator`.

    Pack Setup only accepts one scene GameObject. Do not select a prefab asset, child bone, or multiple objects.
  </Step>

  <Step title="Open Pack Setup">
    Right-click the selected character in the Hierarchy. Choose **KINEMATION > Pack Setup**.

    You can also use **GameObject > KINEMATION > Pack Setup** from the main menu.
  </Step>

  <Step title="Apply the pack config">
    Select **{packConfigName_0}** from the pack list. Click **Set Up Character**.

    <Frame caption={`${productName} selected in Pack Setup.`}>
      <img src={setupScreenshot} alt={`${productName} selected in the KINEMATION Pack Setup window`} width={860} />
    </Frame>
  </Step>

  <Step title="Check the generated components">
    Select the character root and inspect the generated setup.

    <Frame caption={`${productName} Gameplay Animation Controller setup.`}>
      <img src={componentsScreenshot} alt={`${productName} Gameplay Animation Controller in the Inspector`} width={860} />
    </Frame>
  </Step>
</Steps>

## Component checklist

| Object                             | Component                                   | Responsibility                                                               |
| ---------------------------------- | ------------------------------------------- | ---------------------------------------------------------------------------- |
| Character root                     | `Animator`                                  | Plays the configured locomotion controller.                                  |
| Character root                     | `PlayerInput`                               | Sends actions from the `Player` action map to the example controller.        |
| Character root                     | `CharacterController`                       | Provides collision and movement for the example.                             |
| Character root                     | <code>{controllerComponent_0}</code>        | Drives movement and pack-specific gameplay inputs.                           |
| Character root                     | `GameplayAnimationController`               | Maps the skeleton and evaluates animation overrides and procedural features. |
| Character root                     | `RecoilAnimation`                           | Produces the recoil transform consumed by Shooter Core.                      |
| Character root                     | `AudioSource`                               | Plays item and weapon sounds.                                                |
| `Camera` child                     | `Camera`, `AudioListener`, `GameplayCamera` | Follows the first-person socket and applies camera animation.                |
| `FirstPersonSocket` below the head | Skeleton socket                             | Anchors the first-person camera to the mapped character rig.                 |

{postSetupNote_0}

## Verify the skeleton

Open the **Skeleton** tab on `GameplayAnimationController`. Select the closest preset and click **Auto Map Bones** if any required group is incomplete. Check the lower body, spine, neck, arms, fingers, and IK groups before you continue.

<Frame caption="A complete Gameplay Framework skeleton mapping.">
  <img src="https://mintcdn.com/kinemation/RCvIweYDV3EFddxo/images/gameplay-framework/unity/gameplay-animation-controller-skeleton.png?fit=max&auto=format&n=RCvIweYDV3EFddxo&q=85&s=b374e5391e235c37c2f3d579aad6c5eb" alt="Gameplay Animation Controller Skeleton tab with every humanoid group mapped" width={860} data-path="images/gameplay-framework/unity/gameplay-animation-controller-skeleton.png" />
</Frame>

<Check>
  The character is ready when every required skeleton group is mapped, the camera references `FirstPersonSocket`, and the Console contains no setup errors.
</Check>

## Next step

Continue to [Animation override](/sci-fi-fps-pack/unity/get-started/animation-override) to retarget the supplied animation sets to this character.
