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

# Weapons

> Set up the hunting rifle, bow, spear, knife, and axe, including reloads, overlays, and projectile release.

The rifle uses Shooter Core firing and ammunition behavior. The bow also derives from `BP_Shooter_Weapon`, but implements its own use and projectile-release events. The spear, knife, and axe derive from `BP_Gameplay_Item` and use their views for attacks and secondary actions.

## Blueprint and settings pairs

Find the weapon Blueprints in `Survival_FPS_Pack/Blueprints/Items`, with the spear in `Throwables`. Their views are in `Views` and their animation settings are in `Settings`.

| Item Blueprint | View component | Animation settings |
| - | - | - |
| `BP_DL700` | `AC_DL700View` | `DA_DL700` |
| `BP_HX2` | `AC_HX2View` | `DA_HX2` |
| `Throwables/BP_Spear` | `AC_SpearView` | `DA_Spear` |
| `BP_Knife` | `AC_KnifeView` | `DA_Knife` |
| `BP_Axe` | `AC_AxeView` | `DA_Axe` |

![Survival regular item Blueprints including BP\_Axe, BP\_DL700, BP\_HX2, BP\_Knife, BP\_Lighter, BP\_Pot, and BP\_WaterBottle](https://mintcdn.com/kinemation/ZGatOp3ICUy8H4tB/survival-pack/unreal/images/survival-pack_item-blueprints.png?fit=max\&auto=format\&n=ZGatOp3ICUy8H4tB\&q=85\&s=46ff74a77257e324387fbef9501ef1cb)

The regular item folder contains the hunting rifle, bow, knife, axe, and utility items. Spear and flare Blueprints are in Throwables.

Add the gameplay Blueprint to **Item Classes** on your character. Keep the view attached to that Blueprint and assign the matching `DA_` asset through its animation settings reference.

## Hunting rifle

`BP_DL700` derives from `BP_Shooter_Weapon`. The gameplay Blueprint handles shot timing and ammunition. `AC_DL700View` extends the shared weapon view with the rifle's animations and reload stages.

The view assigns `DA_DL700`, which references `A_FP_DL700_Idle`, `ABP_Survival_FPS_Overlay`, and `ABP_Procedural_Survival_Weapon`. Its recoil data is `Blueprints/Recoil/DL700/RD_DL700`, with `Blueprints/Recoil/Shakes/Shake_DL700` for camera shake.

### Montage setup

Character montages are in `Animations/Character/UE5/DL700`; rifle montages are in `Animations/Items/DL700`. The corresponding UE4 character animations are in `Animations/Character/UE4/DL700`.

| Action | Character montage | Item montage |
| - | - | - |
| Draw | `AM_FP_DL700_Draw` | `AM_W_DL700_Draw` |
| Holster | `AM_FP_DL700_Holster` | `AM_W_DL700_Holster` |
| Reload start | `AM_FP_DL700_Reload_Start_Empty` | `AM_W_DL700_Reload_Start_Empty` |
| Insert a round | `AM_FP_DL700_Reload_Loop` | `AM_W_DL700_Reload_Loop` |
| Reload end | `AM_FP_DL700_Reload_End` | `AM_W_DL700_Reload_End` |
| Bolt pull | `AM_FP_DL700_Bolt_Pull` | `AM_W_DL700_Bolt_Pull` |

`AC_DL700View` has separate reload-start, reload-loop, and reload-end montage pairs. Its `OnReload`, `OnReloadLoop`, and `OnReloadEnd` functions connect those stages. Keep the character and rifle sides paired so the hands follow the bolt and ammunition.

The item sequence `A_W_DL700_Reload_Loop` uses `BP_AnimNotify_ReloadWeapon` to update ammunition at insertion. Preserve that notify when replacing the loop. Test both a partially loaded rifle and an empty rifle, and confirm that the reload ends when ammunition reaches capacity.

### Aiming and scope

The view and `DA_DL700` control aiming animation, sight alignment, camera FOV, and recoil presentation. The scope Blueprint is `Blueprints/Items/Scope/BP_HuntingRifleScope`.

When replacing the rifle mesh, check the scope's aim point, paired bolt motion, and both hands. Change the settings asset for pose and motion; change the gameplay Blueprint's **Class Defaults** for fire rate and ammunition.

## HX2 bow

`BP_HX2` uses `AC_HX2View`, `DA_HX2`, and the item Animation Blueprint `Animations/Items/CompoundBow/ABP_W_HX2`. It also implements `BPI_Survival_Ranged` for projectile release and selection.

### Aim overlay

The character overlay is `Animations/Character/UE5/CompoundBow/ABP_Overlay_HX2`. Its **GameplayOverlay** layer contains the **BowStates** state machine.

![ABP\_Overlay\_HX2 BowStates state machine with Idle, IdleToAim, AimLoop, and AimToIdle states](https://mintcdn.com/kinemation/ZGatOp3ICUy8H4tB/survival-pack/unreal/images/survival-pack_bow-overlay.png?fit=max\&auto=format\&n=ZGatOp3ICUy8H4tB\&q=85\&s=344d22b507d61fd59ee5ba6a8f463249)

The bow overlay handles idle, drawing into aim, held aim, and lowering the bow.

Keep the overlay assigned through `DA_HX2`. The view's aim actions and the character's aiming state must continue to drive this overlay when you replace the bow animation setup.

Character montages are in `Animations/Character/UE5/CompoundBow`. They include `AM_FP_HX2_IdleToAim`, `AM_FP_HX2_Aim_Loop`, `AM_FP_HX2_AimToIdle`, `AM_FP_HX2_Fire`, and the reload montages. The view also defines `OnLoadNewArrow` to load the next arrow.

The overlay's event graph handles `AnimNotify_OnBowAim` and `AnimNotify_OnBowCancelAim`. Each event finds the equipped item's mesh and plays the corresponding bow montage. Keep these animation events when replacing the draw and lower animations so the bowstring stays in step with the hands.

![HX2 overlay OnBowAim and OnBowCancelAim events getting the equipped item mesh and playing bow montages](https://mintcdn.com/kinemation/ZGatOp3ICUy8H4tB/survival-pack/unreal/images/ABP_Overlay_HX2_EventGraph_00000.png?fit=max\&auto=format\&n=ZGatOp3ICUy8H4tB\&q=85\&s=41a95bf7ff84b0338b20ada187018844)

The HX2 overlay uses animation events to play the bow mesh's aim and idle transitions.

### Arrow release

`BP_HX2.OnThrowItem` spawns `BP_Survival_Projectile_Arrow` at `ArrowProjectileSocket` on the bow mesh. It assigns the selected arrow model and launches along the socket's right vector at speed `4000`, with gravity scale `1`.

Keep [Launch Projectile](https://docs.kinemation.xyz/survival-pack/unreal/general/animation-notifies/launch-projectile.md) at the character animation's release frame. The notify calls `OnThrowItem`; the item's use event separately waits for `0.3 ×` the use animation length before calling `OnLoadNewArrow` and starting that action.

## Spear

`Blueprints/Items/Throwables/BP_Spear` uses `AC_SpearView` and `DA_Spear`. The view defines separate `OnSpearAttack` and `OnThrowSpear` actions.

Character animations are in `Animations/Character/UE5/Spear`. `AM_FP_Spear_High_Idle_Attack` and `AM_FP_Spear_Low_Idle_Attack` cover the attack poses. `AM_FP_Spear_Throw_Release` covers release, while the windup and loop sequences support throw preparation.

`ABP_Overlay_Survival_Spear` provides the spear overlay. Keep that layer connected through `DA_Spear` when changing grip or preparation poses. Use the attack montages for discrete strikes and the overlay for the continuous holding and preparation states.

The item implements `BPI_Survival_Ranged` and uses `BP_Survival_Projectile_Spear`. Preserve the projectile-release notify in replacement throw animations. The ranged component and interface live beside the spear Blueprint in `Blueprints/Items/Throwables`.

## Knife

`BP_Knife` uses `AC_KnifeView` and `DA_Knife`. Its character actions are in `Animations/Character/UE5/Knife`, including `AM_FP_Knife_Slash_Left`, `AM_FP_Knife_Slash_Right`, draw, and holster montages.

Keep both slash actions assigned when adapting the view. The settings asset controls the resting pose and procedural alignment; the view controls the selected attack presentation. Connect hit detection and damage in your gameplay implementation at the contact moment.

## Axe

`BP_Axe` uses `AC_AxeView` and `DA_Axe`. Character montages include `AM_FP_Axe_Horizontal_Swing` and `AM_FP_Axe_Vertical_Swing` in `Animations/Character/UE5/Axe`.

The same folder contains `A_FP_Axe_Block` and `ABP_Overlay_Survival_Axe`. Keep the block pose and overlay assigned when adapting the secondary action. Swing montages play the discrete attacks; the overlay controls the holding and block presentation.

The overlay reads `IsAiming` from `AC_GameplayAnimation`. It increases or decreases `BlockProgress` using `BlockSpeed`, clamps the result between `0` and `1`, and eases that progress into `BlockTime`.

![Axe overlay updating Block Progress and Block Time from Is Aiming and Block Speed](https://mintcdn.com/kinemation/ZGatOp3ICUy8H4tB/survival-pack/unreal/images/ABP_Overlay_Survival_Axe_EventGraph_00000.png?fit=max\&auto=format\&n=ZGatOp3ICUy8H4tB\&q=85\&s=cfbce80848290024e46d5a6df3f99845)

The axe overlay moves toward or away from the block pose according to IsAiming.

The **GameplayOverlay** layer evaluates `BlockAnimation` at `BlockTime`. Adjust the animation for a different blocking pose, or `BlockSpeed` for a faster or slower transition.

![Axe GameplayOverlay with a Sequence Evaluator using Block Animation and Block Time](https://mintcdn.com/kinemation/ZGatOp3ICUy8H4tB/survival-pack/unreal/images/ABP_Overlay_Survival_Axe_GameplayOverlay_00000.png?fit=max\&auto=format\&n=ZGatOp3ICUy8H4tB\&q=85\&s=99bc95a1c93dbf62d65ae5a137ab8e85)

GameplayOverlay samples the block animation at the time calculated by the event graph.

Changing the block animation changes its appearance. Apply combat rules such as damage reduction in your gameplay code.

## Projectile assets and animation notifies

The shared ranged setup uses `BPI_Survival_Ranged` and `AC_Survival_RangedWeapon` in `Blueprints/Items/Throwables`. The spawned actors are in `Blueprints/Projectiles`:

* `BP_Survival_Projectile` is the shared projectile base.
* `BP_Survival_Projectile_Arrow` is the arrow projectile.
* `BP_Survival_Projectile_Spear` is the spear projectile.
* `BP_Survival_Flare` is the flare projectile used by the signal flare tool.

`Blueprints/Notifies/BP_AnimNotify_Survival_LaunchProjectile` connects the character animation's release frame to the ranged item. Keep this notify on the character side and retain the ranged interface when duplicating a projectile item.

### Projectile mesh selection

`AC_Survival_RangedWeapon` holds `ProjectileMeshes` and `ActiveMeshIndex`. `GetProjectileMesh` returns the mesh at that index; `CycleProjectiles` advances the selection. The bow and spear update their held model after cycling and use the same selection for the spawned projectile.

![Get Projectile Mesh returning Projectile Meshes at Active Mesh Index](https://mintcdn.com/kinemation/ZGatOp3ICUy8H4tB/survival-pack/unreal/images/AC_Survival_RangedWeapon_GetProjectileMesh_00000.png?fit=max\&auto=format\&n=ZGatOp3ICUy8H4tB\&q=85\&s=9516cec6cf6c58b518bb131f815631cc)

GetProjectileMesh returns the selected entry from ProjectileMeshes.

Populate the array before using the item. This component selects a model; the item's `OnThrowItem` chooses the projectile class and launch settings. Adding a mesh does not add a new projectile behavior.

## Adapt a weapon

Duplicate the closest item Blueprint and its settings asset into your own folder. Replace the model, assign the matching character and item montage pairs, and preserve its overlay and procedural classes.

Test draw, aim, use, reload or redraw, and holster. For the bow and spear, also test projectile selection and the release frame. [Create an item](https://docs.kinemation.xyz/survival-pack/unreal/tutorials/create-an-item.md) explains the melee and ranged setups, and [Animation settings](https://docs.kinemation.xyz/survival-pack/unreal/general/animation-settings.md) covers pose and motion fields.


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