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

# Weapon blueprints

> Understand how the Sci-Fi FPS Pack weapon Blueprints extend ShooterCore and route weapon-specific presentation.

The Sci-Fi FPS Pack weapons are project-facing examples built on ShooterCore. The weapon Blueprint owns gameplay state and delegates presentation to its matching weapon-view component.

## Weapon hierarchy

| Weapon                    | Parent                            | View                          | Distinguishing behavior                                                                                                     |
| ------------------------- | --------------------------------- | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| <code>BP\_ARX\_Mk2</code> | <code>BP\_Shooter\_Weapon</code>  | <code>AC\_ARX\_Mk2</code>     | Holograph, charge audio, energy-charge components, and custom fire and aim behavior.                                        |
| <code>BP\_Gepard</code>   | <code>BP\_Shooter\_Weapon</code>  | <code>AC\_Gepard</code>       | Standard firearm with a pack-specific view.                                                                                 |
| <code>BP\_M97</code>      | <code>BP\_Shooter\_Weapon</code>  | <code>AC\_M97</code>          | Grenade timing through <code>GrenadeHandle</code>, <code>UnpinTime</code>, <code>MinUnpinTime</code>, and custom aim rules. |
| <code>BP\_Onyx</code>     | <code>BP\_Shooter\_Weapon</code>  | <code>AC\_OnyxRevolver</code> | Revolver-specific reload presentation.                                                                                      |
| <code>BP\_RPG90</code>    | <code>BP\_Shooter\_Weapon</code>  | <code>AC\_RPG90</code>        | Collision, scene capture, and backblast components.                                                                         |
| <code>BP\_TP12</code>     | <code>BP\_Shooter\_Shotgun</code> | <code>AC\_TP12</code>         | Shotgun view, holograph, pump action, custom fire effects, and custom aim point.                                            |

Start with [Shooter runtime](/sci-fi-fps-pack/unreal/general/shooter-runtime) for the shared initialization, firing, ammo, weapon-view, and shotgun contracts. The sections below explain the product-specific Blueprint extensions.

## ARX Mk2

<code>BP\_ARX\_Mk2</code> adds a charge state around the inherited use and fire lifecycle. Its view starts charge presentation, maintains the charge loop, then stops charge effects when firing begins.

<Frame caption="BP_ARX_Mk2 initializes its holograph and energy-charge behavior, part 1.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/BP_ARX_Mk2_EventGraph_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=ebfed528bae8ec7b0751c951dc927427" alt="BP ARX Mk2 Event Graph initializing holograph, charge audio, and energy-charge components" width="5038" height="1070" data-path="images/sci-fi-fps-pack/unreal/BP_ARX_Mk2_EventGraph_00000.png" />
</Frame>

<Frame caption="BP_ARX_Mk2 routes use input into the charge lifecycle, part 2.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/BP_ARX_Mk2_EventGraph_00001.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=739aad91d167460a3f5953dce65d96c1" alt="BP ARX Mk2 Event Graph starting and maintaining the weapon charge state" width="2712" height="918" data-path="images/sci-fi-fps-pack/unreal/BP_ARX_Mk2_EventGraph_00001.png" />
</Frame>

<Frame caption="BP_ARX_Mk2 releases its charged fire behavior, part 3.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/BP_ARX_Mk2_EventGraph_00002.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=78ff0ea4f02b9969bb6c1cfc9daf9cb9" alt="BP ARX Mk2 Event Graph releasing charge into the firearm fire lifecycle" width="5672" height="1264" data-path="images/sci-fi-fps-pack/unreal/BP_ARX_Mk2_EventGraph_00002.png" />
</Frame>

<Frame caption="BP_ARX_Mk2 resolves its view, fire rate, and aim point, part 4.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/BP_ARX_Mk2_EventGraph_00003.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=4db3089e04bcbab4fb8d2ca238c04f01" alt="BP ARX Mk2 Event Graph returning the pack view component, fire rate, and authored aim point" width="5472" height="932" data-path="images/sci-fi-fps-pack/unreal/BP_ARX_Mk2_EventGraph_00003.png" />
</Frame>

<Frame caption="AC_ARX_Mk2 OnChargeStart begins charge audio, animation, and energy presentation.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/AC_ARX_Mk2_OnChargeStart_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=0523afe283d3213bb8ddf9170e16f783" alt="AC ARX Mk2 On Charge Start function starting the ARX charge animation, audio, and energy effects" width="3146" height="1016" data-path="images/sci-fi-fps-pack/unreal/AC_ARX_Mk2_OnChargeStart_00000.png" />
</Frame>

<Frame caption="AC_ARX_Mk2 OnChargeLoop sustains the charged presentation.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/AC_ARX_Mk2_OnChargeLoop_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=4f70b0694c34d0c7a2172f95ec558ae6" alt="AC ARX Mk2 On Charge Loop function maintaining the ARX charge presentation" width="1198" height="566" data-path="images/sci-fi-fps-pack/unreal/AC_ARX_Mk2_OnChargeLoop_00000.png" />
</Frame>

<Frame caption="AC_ARX_Mk2 OnFire resolves charge presentation into the firing event.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/AC_ARX_Mk2_OnFire_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=4359ce98b4b1d3da22c535b35aadde2a" alt="AC ARX Mk2 On Fire function stopping charge effects and starting the ARX firing presentation" width="3372" height="708" data-path="images/sci-fi-fps-pack/unreal/AC_ARX_Mk2_OnFire_00000.png" />
</Frame>

## M97

<code>BP\_M97</code> holds the grenade through the inherited item-use path, tracks its unpin timing, and releases it through its custom fire behavior.

<Frame caption="BP_M97 Event Graph begins grenade hold and unpin timing, part 1.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/BP_M97_EventGraph_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=2a1fed81a0cc1ecdfff1f2a16b8bd34c" alt="BP M97 Event Graph starting the grenade use state and tracking unpin time" width="4780" height="1412" data-path="images/sci-fi-fps-pack/unreal/BP_M97_EventGraph_00000.png" />
</Frame>

<Frame caption="BP_M97 Event Graph releases the grenade and evaluates aiming, part 2.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/BP_M97_EventGraph_00001.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=ebb86eba4364f58fbc798c5688fa4adf" alt="BP M97 Event Graph completing grenade release timing and custom Can Aim behavior" width="5914" height="924" data-path="images/sci-fi-fps-pack/unreal/BP_M97_EventGraph_00001.png" />
</Frame>

<Frame caption="AC_M97 OnEquip prepares the grenade presentation.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/AC_M97_OnEquip_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=61146c60f37b50b9cbbe41d0accbce15" alt="AC M97 On Equip function playing the grenade equip presentation" width="3626" height="848" data-path="images/sci-fi-fps-pack/unreal/AC_M97_OnEquip_00000.png" />
</Frame>

<Frame caption="AC_M97 OnUseItem starts the grenade-use animation sequence.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/AC_M97_OnUseItem_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=16fa4736274e73c7668e7f0feec994d0" alt="AC M97 On Use Item function starting the grenade unpin and hold presentation" width="2794" height="836" data-path="images/sci-fi-fps-pack/unreal/AC_M97_OnUseItem_00000.png" />
</Frame>

<Frame caption="AC_M97 OnGrenadeLoop repeats the held-grenade presentation until release.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/AC_M97_OnGrenadeLoop_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=c309e084e27f510f4f906b4ef310407a" alt="AC M97 On Grenade Loop function maintaining the grenade hold animation" width="1294" height="566" data-path="images/sci-fi-fps-pack/unreal/AC_M97_OnGrenadeLoop_00000.png" />
</Frame>

## Onyx

<code>BP\_Onyx</code> inherits the standard firearm lifecycle and lets its revolver view choose a reload presentation from the current missing-round count.

<Frame caption="BP_Onyx connects the revolver weapon class to its pack view and firearm accessors.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/BP_Onyx_EventGraph_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=d6a4a9db1445c1a304778f0125990b51" alt="BP Onyx Event Graph returning the Onyx revolver view and weapon-specific data" width="3610" height="836" data-path="images/sci-fi-fps-pack/unreal/BP_Onyx_EventGraph_00000.png" />
</Frame>

<Frame caption="AC_OnyxRevolver OnReload selects revolver reload presentation from ammunition state.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/AC_OnyxRevolver_OnReload_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=3f8f023fbe8d1d013498e5e7405ed52e" alt="AC Onyx Revolver On Reload function selecting the appropriate reload animation for missing rounds" width="3594" height="1190" data-path="images/sci-fi-fps-pack/unreal/AC_OnyxRevolver_OnReload_00000.png" />
</Frame>

## TP12

<code>BP\_TP12</code> uses <code>BP\_Shooter\_Shotgun</code> and <code>AC\_TP12</code> for shell reload, pump action, custom effects, and its authored aim point.

<Frame caption="BP_TP12 connects the shotgun base to its custom view and effects, part 1.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/BP_TP12_EventGraph_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=2676664fe872dfa0189a05f48998e849" alt="BP TP12 Event Graph returning the shotgun view and initializing TP12 presentation" width="6148" height="1062" data-path="images/sci-fi-fps-pack/unreal/BP_TP12_EventGraph_00000.png" />
</Frame>

<Frame caption="BP_TP12 handles its custom aim point and pump-aware fire flow, part 2.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/BP_TP12_EventGraph_00001.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=29852426388a3de6de546b74bf40fc4a" alt="BP TP12 Event Graph applying the authored aim point, custom fire effects, and pump behavior" width="1146" height="580" data-path="images/sci-fi-fps-pack/unreal/BP_TP12_EventGraph_00001.png" />
</Frame>

<Frame caption="AC_TP12 OnFire adds TP12-specific presentation to the shared shotgun fire event.">
  <img src="https://mintcdn.com/kinemation/9aZEADwMORfeQEcq/images/sci-fi-fps-pack/unreal/AC_TP12_OnFire_00000.png?fit=max&auto=format&n=9aZEADwMORfeQEcq&q=85&s=af9e26c42d198d8a15f37c7b4439c028" alt="AC TP12 On Fire function playing the TP12 firing and holograph presentation" width="3846" height="972" data-path="images/sci-fi-fps-pack/unreal/AC_TP12_OnFire_00000.png" />
</Frame>

## Gepard and RPG90

<code>BP\_Gepard</code> uses the standard ShooterCore weapon and weapon-view flow with its pack-specific assets. <code>BP\_RPG90</code> adds the collision, scene-capture, and backblast components required by its projectile presentation.

Keep weapon-specific behavior in the product child Blueprint or view. Keep fire rate, ammunition, supported fire modes, and aim point on the weapon; keep montages, audio, recoil, animation settings, muzzle flash, and presentation effects on the view.

## Related systems

* Use [Gameplay animation](/sci-fi-fps-pack/unreal/general/gameplay-animation) for the settings and procedural graph used by character and weapon animation.
* Use [Recoil](/sci-fi-fps-pack/unreal/general/recoil) for recoil data and firing-state hookup.
* Use [Animation notifies](/sci-fi-fps-pack/unreal/general/animation-notifies) for frame-specific reload, sound, visibility, and casing events.
