Equipment Manager

Updated May 25, 2026

Important: Read the Inventory
documentation first so the container system, item data, and item movement rules
are clear before configuring equipment.

Overview

The Equipment Manager handles equipped items, linked
equipment slots, equipment actors, animation-driven equip flow, attribute
application, and equipment-specific events. It builds on AC_Inventory:
equipment is still item data, but equipped items are moved through validated
equip and unequip functions instead of being placed directly into arbitrary
slots.

For shared setup
guidance, see the Migration
Guide
and Integration
Guide
. Use the System Atlas to look up
functions, variables, events, components, and ownership references. Use this
page for Equipment Manager-specific setup, runtime behavior, extension points,
and integration notes.

Related setup: Make your own
Equipment
, Set
Up Inventory for the Player
.

The system is responsible for:

  • Creating and managing the equipment container. Equipping and unequipping items through controlled functions. Applying and removing equipment attribute bonuses. Spawning visual and functional equipment actors. Handling equip animations and instant equip paths. Supporting gender-specific equipment and animation layers. Triggering events when equipment changes or is used. Related Videos Version note: Some videos may have been recorded before V4. The concepts still apply, but asset names, component names, and folder locations may differ. Treat the written V4 documentation as the source of truth. Equipment Manager walkthrough
    Play
  • Your first hour in the Multiplayer Survival Template [MST]
    Play

Equipment Container

The equipment manager uses a single equipment container
owned by AC_Inventory.
That container stores the items the character is currently wearing or wielding.

AC_Inventory
├─ Default Container (backpack)
└─ Equipment Container
   ├─ Equipment_Helmet
   ├─ Equipment_Chest
   ├─ Equipment_Weapon
   │  ├─ Ammo (nested container)
   │  └─ Attachments (nested container)
   └─ Other equipment items

Each equipment item has a linked slot, such as Head or Primary Weapon, that
determines where it appears and what it affects.

Use the Equip and Unequip functions. Do not add items directly to the equipment container. The equip and
unequip functions handle validation, stat changes, visuals, animation, and
events.

Container

Purpose

Equipment Container

Items currently worn or wielded by the
character. These affect stats and appearance.

Default Container

Stored items that are not equipped and do
not affect the character.

Equipment Manager Component

The equipment functionality lives on AC_Inventory. On
initialization, it creates the equipment container, configures linked slots,
loads starting equipment when configured, and applies attributes from equipped
starting items.

Equipment Manager Component screenshot

Equipment events allow UI, stats, animation, and other
systems to respond to changes:

  • Equipment added or removed: Triggered when an item is
    equipped or unequipped.
  • Used Equipment: Triggered when an equipped item is activated or
    used.

Equipment Attributes

Equipment attributes are defined in DT_Equipment and
applied to the character’s attribute set while the item is equipped. Common
examples include Max Health, Armor, Damage, and Movement Speed.

Use Added values for equipment bonuses. Use Added,
not Base,
when defining equipment attribute changes. Base changes can become permanent; Added values are
temporary and can be removed when the item is unequipped.

Example

Result

Helmet: Max Health Added = 50

Correct. The bonus is removed when the
helmet is unequipped.

Helmet: Max Health Base = 50

Incorrect for equipment bonuses. This
permanently increases the attribute.

Equip flow applies the item’s Added values and
triggers attribute change events. Unequip flow removes those values and
triggers the same update path.

Armor note:
The attribute manager currently applies armor as overall damage reduction. It
does not support hit-location-based armor checks.

Linked Slots and Starting Equipment

A linked slot controls where an equipment item can be
equipped. Examples include Head, Chest, Legs, Boots, Gloves, Primary Weapon,
Secondary Weapon, and Accessory slots.

Linked Slots screenshot

Starting equipment can be configured so characters spawn
with items already equipped.

Starting Equipment screenshot

When the character spawns:

  1. The equipment container is created.
  2. Each configured starting equipment entry creates the
    matching item from DT_Items.
  3. The system equips each item through the normal Equip function.
  4. Equipment attributes are applied.
  5. The character starts with the configured equipment
    active.

Full Mag Custom Container

BP_Container_FullMag
is an optional custom container class for COD-style weapon setups where a
weapon should spawn with a full magazine and extra ammunition.

The class extends BP_Inventory_Container
and adds initialization logic when the weapon is equipped. It can add a full
magazine and additional magazines, such as three extra mags.

Note: This container only
initializes the ammo items. Ammo management, reloading, and consumption are
handled by the equipment manager. The stored ammo entries remain regular ammo
items.

Equipment Actor System

When an item is equipped, the system spawns an equipment
actor for the visual representation and equipment-specific behavior.

Equipment Actor Classes screenshot

The documented hierarchy includes:

  • BP_Equipment_Base: Base class for equipment actors. Handles common
    equip and unequip behavior, mesh attachment, and shared functionality.
  • BP_Equipment_Melee: Extends the base class for melee weapons, melee
    attack logic, and melee hit detection.
  • BP_Equipment_Ranged: Base class for ranged weapons, including shared
    aiming and firing behavior.
  • BP_Equipment_Ranged_Projectile: Ranged implementation that spawns
    physical projectiles, such as grenade launchers or rocket launchers.
  • BP_Equipment_Ranged_Hitscan: Ranged implementation that uses
    line traces for instant hit detection, such as rifles and pistols.
  • BP_Equipment_Bow: Specific equipment actor implementation for bow
    behavior.

Equipment Actor Classes screenshot

Multiple equipment actors can exist on the same character
at the same time. This supports visible armor pieces, weapons, dual wielding,
or other equipment that needs independent functionality.

Equipment Actor Classes screenshot

When using the Equip
function, the system gets the equipment class from DT_Equipment, spawns
the appropriate actor, attaches it to the character skeleton, and lets that
actor handle its specialized logic.

Equip Animations

Most equipment can use latent equip animations so
attachment happens at the correct moment in the montage instead of instantly.

Equip Animations screenshot

Animation montages use notify markers:

  • Notify Attach: Placed where the hand reaches the holster or
    weapon.
  • Finish: Placed at the end of the equip sequence.

Equip Animations screenshot

The attach notify should align to the frame where the
visual attachment should happen. For instant equip paths, such as
inventory-screen swaps or quick changes, use With Animation = false. This skips the
montage and attaches equipment immediately.

Equip Animations screenshot

Gender-Based Equipment

The equipment system supports gender-specific animation
layers and equipment restrictions.

In DT_Equipment,
configure:

  • Masculine Animation Layer: Animation blueprint used for
    masculine characters.
  • Feminine Animation Layer: Animation blueprint used for
    feminine characters.
  • Should Check Gender Before Equip: Enables gender validation for the
    item.
  • Accepted Gender: Defines which gender can equip the item.

Gender-Based Equipment screenshot

Example configurations:

  • Masculine armor: Enable gender check and set Accepted Gender to
    Masculine.
  • Feminine armor: Enable gender check, set Accepted Gender to
    Feminine, and use the matching skeletal mesh and settings.

Character gender is set on the character’s Extended Movement Component,
Basic or Advanced. The equipment system reads that value for validation,
animation layer selection, and visual consistency.

The project uses the Enhanced Input System plugin for
character controls. If Enhanced Input is enabled, controls work automatically.
If the project does not use Enhanced Input, replace the input implementations
used by the Extended
Movement Component
.

Data Tables

The equipment system uses DT_Items and DT_Equipment. They
cross-reference each other using the same row name.

DT_Items

DT_Equipment

  • Item
    Type:
    Equipment.
  • Linked
    Slot:
    Equipment slot such as Head
    or Primary Weapon.
  • Icon,
    Name, Description:
    UI display data.
  • Weight,
    Value:
    Base inventory data.
  • Equipment
    Reference:
    Points to the matching DT_Equipment
    row.
  • Equipment
    Class:
    Equipment actor class such
    as BP_Equipment_Melee
    or BP_Equipment_Ranged_Hitscan.
  • Skeletal
    Mesh:
    Visual mesh.
  • Equip/Unequip
    Animation Montages:
    Animation assets for latent
    equip flow.
  • Socket
    Name:
    Attachment point on the
    character skeleton.
  • Animation
    Layers:
    Masculine and feminine
    animation blueprints.
  • Attributes:
    Equipment bonuses such as armor or damage.
  • Item
    Reference:
    Points to the matching DT_Items row.

Example bidirectional link:

  • DT_Items row Sword_Iron:
    Equipment Reference points to Sword_Iron
    in DT_Equipment.
  • DT_Equipment row Sword_Iron:
    Item Reference points to Sword_Iron
    in DT_Items.

Equipment Gameplay Tags

Equipment uses Gameplay
Tags
for categorization, filtering, requirements, UI grouping,
and category-specific logic.

  • Equipment.Helmet: Head slot equipment.
  • Equipment.Chestplate: Torso slot equipment.
  • Equipment.Boots: Foot slot equipment.
  • Equipment.Weapon.Melee: Melee weapons.
  • Equipment.Weapon.Ranged.Hitscan: Hitscan ranged weapons.
  • Equipment.Weapon.Ranged.Projectile: Projectile ranged weapons.

Equipment Gameplay Tags screenshot

To create new tags, open Project SettingsGameplay Tags, add
the tag under the Equipment hierarchy, follow the existing naming convention,
and assign the tag in DT_Items.

Equipment Functions

Equip

The Equip
function equips an item from inventory into the equipment container.

Inputs include the item struct, the linked slot, and With Animation.

  1. Validate that the item can be equipped.
  2. Validate that the item matches the linked slot.
  3. If the slot is already occupied, unequip the current
    item first.
  4. Remove the item from its inventory container.
  5. Add the item to the equipment container.
  6. Apply equipment attributes.
  7. Update character visuals.
  8. Play the equip animation when With Animation
    is true.
  9. Trigger Equipment
    added or removed
    .
  10. Return success.

Unequip

The Unequip
function removes an item from the equipment container and returns it to
inventory.

Inputs include the linked slot and With Animation.

  1. Get the item in the linked slot.
  2. Check that the slot contains an item.
  3. Check that the inventory has space.
  4. Remove the item from the equipment container.
  5. Add the item to the inventory container.
  6. Remove equipment attributes.
  7. Update character visuals.
  8. Play the unequip animation when With Animation
    is true.
  9. Trigger Equipment
    added or removed
    .
  10. Return success.

Events

  • Equipment added or removed: Use this to update equipment UI,
    recalculate character stats, and refresh character appearance.
  • Used Equipment: Triggered when an equipped item is activated, such
    as firing a weapon, using a tool, or activating a consumable. Use this for
    animations, effects, and UI feedback.

Set Up Equipment Manager

  1. Open the character blueprint and find the AC_Inventory
    component.
  2. Configure the linked equipment slots, such as Head,
    Chest, Primary Weapon, and Secondary Weapon.
  3. Define each equipment item in DT_Items.
  4. Define the matching equipment behavior in DT_Equipment.
  5. Use the Equip
    and Unequip
    functions from player controller, UI, or gameplay logic.
  6. Listen for Equipment
    added or removed
    to update UI and dependent systems.

Configure Starting Equipment

  1. Select the character blueprint.
  2. Open the inventory component.
  3. Add entries to the starting equipment array.
  4. Start a play session.
  5. Verify the items are equipped, attributes are
    applied, visuals are correct, and equipment events fire as expected.

Add New Equipment

  1. Open DT_Items
    and add a new row for the equipment item.
  2. Set Item
    Type
    to Equipment.
  3. Set the Linked
    Slot
    , icon, display name, description, weight, and value.
  4. Open DT_Equipment
    and add a row with the same name.
  5. Set the equipment class, skeletal mesh, equip and
    unequip montages, socket name, animation layers, and attributes.
  6. Cross-reference the rows by setting the Equipment Reference
    in DT_Items
    and the Item
    Reference
    in DT_Equipment.
  7. Add or assign the appropriate Gameplay Tag under the
    Equipment hierarchy.
  8. If the equipment needs custom behavior, open the
    equipment actor blueprint, such as BP_Equipment_Melee,
    and add the required logic.
  9. Test by spawning the item through an equip pad or
    starting equipment, then verify the mesh, animations, attributes, and
    functionality.