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 PlayYour 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 itemsEach 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 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.

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

When the character spawns:
- The equipment container is created.
- Each configured starting equipment entry creates the
matching item from DT_Items. - The system equips each item through the normal Equip function.
- Equipment attributes are applied.
- 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.

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.

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.

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.

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.

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.

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.

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

To create new tags, open Project Settings → Gameplay 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.
- Validate that the item can be equipped.
- Validate that the item matches the linked slot.
- If the slot is already occupied, unequip the current
item first. - Remove the item from its inventory container.
- Add the item to the equipment container.
- Apply equipment attributes.
- Update character visuals.
- Play the equip animation when With Animation
is true. - Trigger Equipment
added or removed. - 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.
- Get the item in the linked slot.
- Check that the slot contains an item.
- Check that the inventory has space.
- Remove the item from the equipment container.
- Add the item to the inventory container.
- Remove equipment attributes.
- Update character visuals.
- Play the unequip animation when With Animation
is true. - Trigger Equipment
added or removed. - 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
- Open the character blueprint and find the AC_Inventory
component. - Configure the linked equipment slots, such as Head,
Chest, Primary Weapon, and Secondary Weapon. - Define each equipment item in DT_Items.
- Define the matching equipment behavior in DT_Equipment.
- Use the Equip
and Unequip
functions from player controller, UI, or gameplay logic. - Listen for Equipment
added or removed to update UI and dependent systems.
Configure Starting Equipment
- Select the character blueprint.
- Open the inventory component.
- Add entries to the starting equipment array.
- Start a play session.
- Verify the items are equipped, attributes are
applied, visuals are correct, and equipment events fire as expected.
Add New Equipment
- Open DT_Items
and add a new row for the equipment item. - Set Item
Type to Equipment. - Set the Linked
Slot, icon, display name, description, weight, and value. - Open DT_Equipment
and add a row with the same name. - Set the equipment class, skeletal mesh, equip and
unequip montages, socket name, animation layers, and attributes. - Cross-reference the rows by setting the Equipment Reference
in DT_Items
and the Item
Reference in DT_Equipment. - Add or assign the appropriate Gameplay Tag under the
Equipment hierarchy. - If the equipment needs custom behavior, open the
equipment actor blueprint, such as BP_Equipment_Melee,
and add the required logic. - Test by spawning the item through an equip pad or
starting equipment, then verify the mesh, animations, attributes, and
functionality.