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

> This page covers the character components, input, movement, and equipment settings.

`BP_Survival_Character` handles the player's movement, look input, and equipment. It keeps a simple inventory of spawned items, equips one at a time, and forwards actions such as use, aim, and inspect to that item.

The character also owns the components that animate the hands, move the camera, and add motion to the held item. Those components work with the equipped item's view, so switching items also changes the holding pose and action animations.

## How the character is built

The character inherits its behavior through three Blueprint classes:

<ol><li>`BP_Gameplay_Character` extends Unreal's `Character`. It adds input handling, simple inventory, item switching, and the camera and animation connections. This is the shared Gameplay Framework character.</li>
<li>`BP_Shooter_Character` adds Shooter Core behavior: reload and fire-mode input, plus the recoil component.</li>
<li>`BP_Survival_Character` configures the pack's character and equipment on top of those shared classes.</li></ol>

Duplicate `BP_Survival_Character` when you want to customize the pack character. Your copy keeps this setup while giving you a place to change equipment and defaults.

## How the components work together

Unreal's movement component moves the character. `AC_GameplayAnimation` connects its movement and item actions to animation. The camera and IK motion components handle the extra motion you see in first person.

![BP\_Survival\_Character component hierarchy with gameplay animation, IK motion, camera, and recoil components](https://mintcdn.com/kinemation/ZGatOp3ICUy8H4tB/survival-pack/unreal/images/survival-pack_character-blueprint_components-hierarchy.png?fit=max\&auto=format\&n=ZGatOp3ICUy8H4tB\&q=85\&s=5e6072dc3479beb5caa268fa549b0479)

The Survival character inherits the components used by its animation, camera, movement, and recoil.
<table><thead><tr><th>Component</th><th>What it does</th></tr></thead>
<tbody><tr><td>`CapsuleComponent`</td><td>Character collision.</td></tr>
<tr><td>`CharacterMovement`</td><td>Walking, jumping, and movement physics.</td></tr>
<tr><td>`Mesh`</td><td>Character mesh and its Animation Blueprint.</td></tr>
<tr><td>`Camera`</td><td>The view you see during play.</td></tr>
<tr><td>`AC_FirstPersonCamera`</td><td>Camera animation, free look, FOV transitions, and shakes.</td></tr>
<tr><td>`AC_GameplayAnimation`</td><td>Active animation settings, montage playback, overrides, action state, and lean.</td></tr>
<tr><td>`AC_IKMotionPlayer`</td><td>Short curve-driven motions, such as raising the weapon into a ready pose.</td></tr></tbody></table>

## Equipment and movement settings

In **Class Defaults**, **Item Classes** defines what the player carries. At startup, the character spawns these classes into `Items`; `ActiveItemIndex` identifies the selected entry. Switching items puts away the current item and equips the next one.

Change `ItemClasses` to configure equipment. The other inventory values below describe the items created during play.

<table><thead><tr><th>Property</th><th>Use</th></tr></thead>
<tbody><tr><td>`ItemClasses`</td><td>Classes the character spawns as its equipment. Add your weapon or item child Blueprint here.</td></tr>
<tr><td>`MovementSpeeds`</td><td>Speed configuration read by the movement logic.</td></tr>
<tr><td>`MouseSensitivity`</td><td>Scales look input.</td></tr>
<tr><td>`Items`, `ActiveItemIndex`</td><td>Spawned equipment and the selected entry. The character manages these during play.</td></tr>
<tr><td>`MovementState`, `Speed`, `Gait`</td><td>Movement information used by the animation system.</td></tr>
<tr><td>`bWantsToSprint`</td><td>Sprint intent read by movement handling.</td></tr></tbody></table>

![Nine regular Item Classes on BP\_Survival\_Character](https://mintcdn.com/kinemation/ZGatOp3ICUy8H4tB/survival-pack/unreal/images/survival-pack_character-blueprint_items-list.png?fit=max\&auto=format\&n=ZGatOp3ICUy8H4tB\&q=85\&s=f75bd2904586407cb1ed47e9eb124abb)

Item Classes selects the regular weapons, tools, and water bottle.

## Initialization and input

At startup, the character connects its camera and mesh to the camera component and prepares its equipment. The item views can then find the owning character and its animation component. Extend `OnPossessed` when you need additional possession-time setup; keep the parent behavior.

![Gameplay character Begin Play graph](https://mintcdn.com/kinemation/BvKUc44M8EsdeT19/images/gameplay-framework/unreal/gameplay-framework_event-begin-play.png?fit=max\&auto=format\&n=BvKUc44M8EsdeT19\&q=85\&s=770a0085be1a4558dde28d2828e206a6)

Begin Play prepares the shared character setup.

`IMC_Gameplay_Core` maps controls to shared character actions. Move and look affect the character; use, aim, and inspect go to the equipped item. For example, pressing use starts the item's `UseItem` action, and releasing it calls `StopUsingItem`. A firearm and a grenade can respond differently to those same inputs.

Free look sends look input to the camera so the player can look around independently of the normal character turn.

![Use and Stop Using Item calls from character input](https://mintcdn.com/kinemation/BvKUc44M8EsdeT19/images/gameplay-framework/unreal/gameplay-framework_character_use-input.png?fit=max\&auto=format\&n=BvKUc44M8EsdeT19\&q=85\&s=51d601328f5dacb1947d63a8e6fe92e3)

Use input starts and stops the equipped item's action.

## Interfaces and types

Use `BPI_Gameplay_Character` to call `GetCharacterMesh`, `GetAnimationComponent`, `GetEquippedItem`, and `GetFirstPersonCamera`. These functions let another Blueprint work with the character without casting to its specific class.

`E_MovementState` describes the movement state consumed by animation. Keep movement state on the character and animation tuning in its settings assets.

To add equipment, create a child item Blueprint and add it to `ItemClasses`. Test switching to it before changing its animation or effects.

For a custom mesh, follow [Character setup](https://docs.kinemation.xyz/survival-pack/unreal/get-started/character-setup.md). For equipment behavior, see [Items](https://docs.kinemation.xyz/survival-pack/unreal/general/items/index).

## Shooter character

Shooter Core keeps the shared movement and inventory behavior, then adds the actions a firearm needs. Its `BP_Shooter_Character` maps reload and fire-mode input to the currently equipped weapon. `BP_Survival_Character` inherits these connections.

The added `AC_RecoilAnimation` component generates kick and recovery for the active weapon. On equip, the weapon view initializes it from the weapon's recoil settings. When a shot fires, the view starts recoil alongside the firing animation, sound, and muzzle flash. The animation graph applies that motion to the weapon pose.

![Shooter character input event graph](https://mintcdn.com/kinemation/-Xb9vtQBgywM0dwu/images/shooter-core/unreal/BP_Shooter_Character_EventGraph_00000.png?fit=max\&auto=format\&n=-Xb9vtQBgywM0dwu\&q=85\&s=547766ee5a93f985d090ffd1d788e8ac)

The shooter character adds reload and fire-mode input.

## Survival equipment and actions

`BP_Survival_Character` adds **Consumable Classes** alongside the regular **Item Classes** equipment list. It spawns consumables separately, attaches them to the character mesh, and hides them until selected.

![Eight food and medicine classes in the Unreal character Consumable Classes list](https://mintcdn.com/kinemation/ZGatOp3ICUy8H4tB/survival-pack/unreal/images/survival-pack_character-blueprint_consumable-list.png?fit=max\&auto=format\&n=ZGatOp3ICUy8H4tB\&q=85\&s=eab4d5b441a08c7ef2fed6b608885aa9)

Consumable Classes selects food and medicine separately from regular equipment.

When you select a consumable, the character checks `IsUsingConsumable`, the selected array entry, and `HasActiveAction` before starting. It puts away the regular item, hides it, shows the consumable, and calls `EquipItem` on the consumable.

The character waits for the consumable's `UnEquipDelay`, calls `UnEquipItem`, and waits for the returned holster duration. It then hides the consumable, equips the previous item, clears `ActiveConsumable`, and resets `IsUsingConsumable`.

`BPI_Survival_Character.GetConsumableItem` lets [Use Consumable](https://docs.kinemation.xyz/survival-pack/unreal/general/animation-notifies/use-consumable.md) find the active consumable during this sequence. See [Consumables](https://docs.kinemation.xyz/survival-pack/unreal/general/items/consumables.md) for the view's repeat timing and item changes.

## Survival input

The character uses the shared `IMC_Gameplay_Core` and `IMC_Shooter_Core` contexts, plus `IMC_Survival_Pack` in `Survival_FPS_Pack/Inputs`. Keep the parent `OnPossessed` behavior when adding your own input setup.

| Action | What the character does |
| - | - |
| `IA_Survival_UseConsumable` | Converts the action value to an integer, subtracts one, and uses the result as an index into `Consumables`. For example, value `1` selects the first entry. |
| `IA_Survival_ChangeProjectile` | Checks that no action is active, gets the equipped item, and sends `ChangeProjectile` through `BPI_Survival_Ranged`. The bow and spear cycle their selected projectile mesh. |

If you reorder **Consumable Classes**, selection follows that new order. Keep the configured input values within the number of consumables in the list.

See [Project integration](https://docs.kinemation.xyz/survival-pack/unreal/tutorials/project-integration.md) for registering these contexts in your own character or player controller.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.