# Weapons

## BP\_TacticalShooterWeapon

This is the base weapon Blueprint class. It handles most player actions, including:

* Draw/Holster
* Firing
* Inspecting
* Mag Check
* Reloading

### View Settings

<figure><img src="/files/yxOixFTu6btMfDteXIKt" alt="" width="332"><figcaption><p>UE4 and UE5 settings.</p></figcaption></figure>

Assign view settings for UE4 and UE5 mesh models here. When switching models, all weapons are forced to use the updated mannequin settings.

### Weapon Animations

<figure><img src="/files/NRhJHs2DTnaDfGgTK5Aa" alt="" width="354"><figcaption><p>Weapon Anim Montages.</p></figcaption></figure>

Assign all Anim Montages used by this weapon:

* Draw
* Holster
* Reload Tactical
* Reload Empty
* Reload Start Empty
* Reload Start Tactical
* Reload Loop
* Reload End
* Inspect
* Mag Check
* Deploy Attachment (only used by Herrington 11-87 and SRM-12)
* Stow Attachment (only used by Herrington 11-87 and SRM-12)
* Fire
* Fire Out

### Firing settings

<figure><img src="/files/eBEyJzv1aQ1NY6wLwZ6l" alt="" width="348"><figcaption><p>Recoil settings.</p></figcaption></figure>

Here you can assign the [Procedural Recoil](/tactical-shooter-pack-unreal/blueprints/procedural-recoil.md#recoil-animation-data) and [First Person Camera](/tactical-shooter-pack-unreal/blueprints/first-person-camera.md#camera-shakes) assets.

<figure><img src="/files/bfsnmzNER8HvqaLqnjsT" alt="" width="347"><figcaption><p>Weapon properties.</p></figcaption></figure>

* **Max Ammo**: Ammo capacity.
* **Fire Rate**: Rounds per minute.
* **Burst Length**: Number of rounds per burst.
* **Use Bursts**: Enables burst mode.
* **Use Full Auto**: Enables full‑auto.
* **Is One Handed**: True for all pistols and **sidearms** (guns held with one hand).
* **Active Fire Mode**: Default fire mode.

## BPI Tactical Shooter Weapon

This Blueprint Interface is used by Animation Blueprints to get essential weapon info.

<figure><img src="/files/6ePUu9agKWUbvVUL3iLG" alt="" width="170"><figcaption><p>Interface functions.</p></figcaption></figure>

<figure><img src="/files/RYcHnI4OyVXTQE3oPnX3" alt="" width="409"><figcaption><p>Returns current active fire mode.</p></figcaption></figure>

<figure><img src="/files/uWLdeRsxHKbVjiwk17M2" alt="" width="563"><figcaption><p>Returns aim point FTransform.</p></figcaption></figure>

**Aim Point** is a socket transform relative to the weapon. In the example above, the default `AimPoint` socket is used; **Component** space means relative to the weapon.

<figure><img src="/files/AfH9VoCnOaCgVgprdh43" alt="" width="482"><figcaption><p>Resetting the weapon.</p></figcaption></figure>

**Reload Weapon** resets the current weapon ammo (e.g., when the reload animation ends).

<figure><img src="/files/VzRSovL0KcCo4sai99o0" alt="" width="408"><figcaption><p>Returns current and max ammo.</p></figcaption></figure>

**Get Ammo** returns current and max ammo (used to animate magazine parts: spring, follower, cartridges).

## Input blocking

While an action is playing (e.g., reload, mag check, inspect), weapons block other actions.

<figure><img src="/files/fnYbpAL4PIzhFEdFpy3c" alt="" width="289"><figcaption><p>Called when an action starts.</p></figcaption></figure>

<figure><img src="/files/QQvy9pbtsG7ujjW9DGXc" alt="" width="288"><figcaption><p>Called when an action ends.</p></figcaption></figure>

All actions have a check before starting an action:

<figure><img src="/files/TruAe42ssiumxJcLEds5" alt="" width="348"><figcaption><p>Only play actions if no action is playing.</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
