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

# Shooter runtime

> Understand ShooterCore weapon, shotgun, weapon-view, character, and initialization behavior.

export const intro_0 = "The Sci-Fi FPS Pack extends ShooterCore weapon and weapon-view Blueprints with product-specific meshes, animation settings, recoil, audio, and effects."

export const characterScreenshots_0 = 
  <>
    <Frame caption="BP_Shooter_Character Event Graph extends the shared character setup, part 1.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Character_EventGraph_00000.png" alt="BP Shooter Character Event Graph connecting possession and shooter initialization to the gameplay character" />
    </Frame>
    <Frame caption="BP_Shooter_Character Event Graph completes shooter character event routing, part 2.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Character_EventGraph_00001.png" alt="BP Shooter Character Event Graph routing shooter actions through inherited character systems" />
    </Frame>
  </>

export const itemScreenshot_0 = 
  <Frame caption="BP_Gameplay_Item Event Graph supplies the lifecycle inherited by ShooterCore weapons.">
    <img src="/images/shooter-core/unreal/BP_Gameplay_Item_EventGraph_00000.png" alt="BP Gameplay Item Event Graph connecting equip, unequip, use, aim, and inspect lifecycle events" />
  </Frame>

export const weaponScreenshots_0 = 
  <>
    <Frame caption="BP_Shooter_Weapon Event Graph begins the inherited weapon lifecycle, part 1.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_EventGraph_00000.png" alt="BP Shooter Weapon Event Graph beginning weapon initialization and item lifecycle handling" />
    </Frame>
    <Frame caption="BP_Shooter_Weapon Event Graph handles equip and use state, part 2.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_EventGraph_00001.png" alt="BP Shooter Weapon Event Graph routing equip and use events into weapon state" />
    </Frame>
    <Frame caption="BP_Shooter_Weapon Event Graph controls fire timing, part 3.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_EventGraph_00002.png" alt="BP Shooter Weapon Event Graph controlling fire rate and repeated firing" />
    </Frame>
    <Frame caption="BP_Shooter_Weapon Event Graph applies ammunition checks, part 4.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_EventGraph_00003.png" alt="BP Shooter Weapon Event Graph checking active ammunition before firing" />
    </Frame>
    <Frame caption="BP_Shooter_Weapon Event Graph stops the firing loop, part 5.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_EventGraph_00004.png" alt="BP Shooter Weapon Event Graph stopping fire timers and presentation" />
    </Frame>
    <Frame caption="BP_Shooter_Weapon Event Graph routes reload behavior, part 6.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_EventGraph_00005.png" alt="BP Shooter Weapon Event Graph starting reload and handling the ammunition-transfer event" />
    </Frame>
    <Frame caption="BP_Shooter_Weapon Event Graph updates aiming and fire mode, part 7.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_EventGraph_00006.png" alt="BP Shooter Weapon Event Graph updating aim state and selected fire mode" />
    </Frame>
    <Frame caption="BP_Shooter_Weapon Event Graph completes firearm event routing, part 8.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_EventGraph_00007.png" alt="BP Shooter Weapon Event Graph completing inspect and weapon-view lifecycle routing" />
    </Frame>
    <Frame caption="BP_Shooter_Weapon returns its configured presentation component through GetItemView.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_GetItemView_00000.png" alt="BP Shooter Weapon Get Item View function returning the configured AC WeaponView component" />
    </Frame>
    <Frame caption="BP_Shooter_Weapon TryInitialize connects firearm state to the weapon view and recoil component.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Weapon_TryInitialize_00000.png" alt="BP Shooter Weapon Try Initialize function resolving the view, fire rate, and recoil setup" />
    </Frame>
  </>

export const weaponViewScreenshots_0 = 
  <>
    <Frame caption="AC_WeaponView Event Graph initializes shared firearm presentation.">
      <img src="/images/shooter-core/unreal/AC_WeaponView_EventGraph_00000.png" alt="AC WeaponView Event Graph initializing character, camera, animation, recoil, audio, and effects references" />
    </Frame>
    <Frame caption="AC_WeaponView OnAim updates ADS presentation and camera behavior.">
      <img src="/images/shooter-core/unreal/AC_WeaponView_OnAim_00000.png" alt="AC WeaponView On Aim function updating aiming animation, recoil state, and target FOV" />
    </Frame>
    <Frame caption="AC_WeaponView OnFire starts montage, recoil, sound, and muzzle-flash presentation.">
      <img src="/images/shooter-core/unreal/AC_WeaponView_OnFire_00000.png" alt="AC WeaponView On Fire function starting firing animation, recoil, audio, and muzzle effects" />
    </Frame>
    <Frame caption="AC_WeaponView OnReload selects and starts paired reload presentation.">
      <img src="/images/shooter-core/unreal/AC_WeaponView_OnReload_00000.png" alt="AC WeaponView On Reload function selecting character and item reload montages from ammunition state" />
    </Frame>
    <Frame caption="AC_WeaponView OnStopFiring stops continuous firearm presentation.">
      <img src="/images/shooter-core/unreal/AC_WeaponView_OnStopFiring_00000.png" alt="AC WeaponView On Stop Firing function stopping firing animation, recoil, and audio" />
    </Frame>
    <Frame caption="AC_WeaponView OnUpdateFireMode refreshes animation and recoil for the selected mode.">
      <img src="/images/shooter-core/unreal/AC_WeaponView_OnUpdateFireMode_00000.png" alt="AC WeaponView On Update Fire Mode function applying the new fire mode to presentation and recoil" />
    </Frame>
  </>

export const shotgunScreenshots_0 = 
  <>
    <Frame caption="BP_Shooter_Shotgun Event Graph begins the shell-reload specialization, part 1.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Shotgun_EventGraph_00000.png" alt="BP Shooter Shotgun Event Graph beginning shotgun initialization and reload handling" />
    </Frame>
    <Frame caption="BP_Shooter_Shotgun Event Graph controls reload start and looping, part 2.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Shotgun_EventGraph_00001.png" alt="BP Shooter Shotgun Event Graph starting and repeating the shell reload loop" />
    </Frame>
    <Frame caption="BP_Shooter_Shotgun Event Graph updates shell ammunition, part 3.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Shotgun_EventGraph_00002.png" alt="BP Shooter Shotgun Event Graph transferring individual shells during reload" />
    </Frame>
    <Frame caption="BP_Shooter_Shotgun Event Graph exits reload and requests pump action, part 4.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Shotgun_EventGraph_00003.png" alt="BP Shooter Shotgun Event Graph ending reload and routing pump-action state" />
    </Frame>
    <Frame caption="BP_Shooter_Shotgun Event Graph completes shotgun fire and reload routing, part 5.">
      <img src="/images/shooter-core/unreal/BP_Shooter_Shotgun_EventGraph_00004.png" alt="BP Shooter Shotgun Event Graph completing shotgun firing and reload cleanup" />
    </Frame>
    <Frame caption="AC_ShotgunView OnReload starts the shotgun reload presentation.">
      <img src="/images/shooter-core/unreal/AC_ShotgunView_OnReload_00000.png" alt="AC ShotgunView On Reload function playing the shotgun reload-start montages" />
    </Frame>
    <Frame caption="AC_ShotgunView OnReloadLoop plays one shell insertion cycle.">
      <img src="/images/shooter-core/unreal/AC_ShotgunView_OnReloadLoop_00000.png" alt="AC ShotgunView On Reload Loop function playing the character and weapon shell-insertion montages" />
    </Frame>
    <Frame caption="AC_ShotgunView OnReloadEnd closes the shell reload sequence.">
      <img src="/images/shooter-core/unreal/AC_ShotgunView_OnReloadEnd_00000.png" alt="AC ShotgunView On Reload End function playing reload-end presentation" />
    </Frame>
    <Frame caption="AC_ShotgunView OnPumpAction plays the post-fire pump sequence.">
      <img src="/images/shooter-core/unreal/AC_ShotgunView_OnPumpAction_00000.png" alt="AC ShotgunView On Pump Action function playing the paired pump-action montages" />
    </Frame>
  </>

## Inheritance and ownership

{intro_0}

```text theme={null}
BP_Gameplay_Item
  -> BP_Shooter_Weapon
       + MuzzleFlash
       + RecoilComponent
       + AC_WeaponView child

BP_Gameplay_Character
  -> BP_Shooter_Character
       + inherited camera, gameplay animation, and IK motion
       + AC_RecoilAnimation
```

`BP_Shooter_Shotgun` is the shotgun specialization. Use it when a firearm needs the supplied `AC_ShotgunView` path.

| Entity                                                                | Responsibility                                                                                                                     |
| --------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `/Game/KINEMATION/Common/ShooterCore/Blueprints/BP_Shooter_Character` | Shooter-ready child of `BP_Gameplay_Character`.                                                                                    |
| `Blueprints/Weapon/BP_Shooter_Weapon`                                 | Owns `FireRate`, `ActiveFireMode`, `SupportsFullAuto`, `BurstNum`, `MaxAmmo`, `ActiveAmmo`, muzzle flash, recoil, and fire timers. |
| `Blueprints/Weapon/BP_Shooter_Shotgun`                                | Adds the shotgun-specific gameplay and view path.                                                                                  |
| `AC_WeaponView`                                                       | Owns firearm presentation: montages, animation settings, muzzle-flash data, fire sound, fire mode presentation, and recoil access. |
| `AC_ShotgunView`                                                      | Adds shell reload and pump presentation.                                                                                           |

### Shooter character flow

{characterScreenshots_0}

### Gameplay item initialization

{itemScreenshot_0}

## Weapon contracts

| Interface            | Functions                                                                           |
| -------------------- | ----------------------------------------------------------------------------------- |
| `BPI_Shooter_Weapon` | `Reload`, `ChangeFireMode`, `GetAimPoint`, `GetFireMode`                            |
| `BPI_Shooter_Ammo`   | `GetActiveAmmo`, `GetAmmoCapacity`, `OnReloadAmmo`, `GetFireRate`, `GetMuzzleFlash` |
| `BPI_Shooter_Scope`  | `GetAimPoint`                                                                       |
| `BPI_WeaponView`     | General weapon-view presentation contract.                                          |
| `BPI_ShotgunView`    | Shotgun-view presentation contract.                                                 |

UI and cross-module Blueprints should read state through these interfaces. They should not write `ActiveAmmo` directly.

## Base weapon lifecycle

`BP_Shooter_Weapon` supplies `TryInitialize` and `Fire`. It participates in `EquipItem`, `UseItem`, `StopUsingItem`, `Aim`, `Inspect`, `Reload`, `OnReloadAmmo`, `ChangeFireMode`, and `StopFire`.

{weaponScreenshots_0}

A child normally configures data and implements accessors such as `GetWeaponView`, `GetFireRate`, and `GetAimPoint`. Keep the base firing and ammunition loop unless the weapon requires distinct behavior.

## Weapon view events

| Event                           | Presentation result                                                                        |
| ------------------------------- | ------------------------------------------------------------------------------------------ |
| `TryInitialize`                 | Resolves the owner, character, camera, gameplay animation component, and recoil component. |
| `OnEquip`                       | Plays equip presentation and returns its duration.                                         |
| `OnReload`                      | Selects the reload presentation from active ammunition and returns its duration.           |
| `OnFire` / `OnStopFiring`       | Starts or stops montages, sound, recoil, and muzzle effects.                               |
| `OnAim(IsAiming)`               | Applies ADS presentation.                                                                  |
| `OnUpdateFireMode(NewFireMode)` | Refreshes presentation after a mode change.                                                |
| `OnUseItem`                     | Implements the inherited item-view use action.                                             |

{weaponViewScreenshots_0}

## Shotgun flow

`BP_Shooter_Shotgun` and `AC_ShotgunView` extend the base lifecycle with reload start, loop, end, and pump actions.

{shotgunScreenshots_0}

Configure presentation in the view. Configure ammunition, capacity, rate, and supported modes on the weapon.

## Sci-Fi implementation

`BP_SciFi_Character` inherits this shooter stack. Five supplied weapons derive from `BP_Shooter_Weapon`; `BP_TP12` derives from `BP_Shooter_Shotgun`. See [Weapon blueprints](/sci-fi-fps-pack/unreal/general/weapon-blueprints) for their concrete view components and authored assets.
