Skip to content
Back to wiki

Equipment System

Learn how the GIS equipment component connects inventory slots to equipment instances, initializes on an Actor, and manages equipment.

Created: Jun 24, 2025Updated: Oct 27, 2026

Overview

Within the General Inventory System (GIS), equipment layout is meticulously crafted through Item Slot Collection. The core functionality of the equipment system revolves around managing the intricate logic triggered by the placement or removal of various items into or from distinct slots.

Equipment System Component

Add GIS_EquipmentSystemComponent to an Actor and set TargetCollectionTag. It is a UActorComponent and can be used by non-Pawn hosts; associate and initialize the inventory and equipment systems as well.

This component collaborates seamlessly with the inventory system to oversee equipment-related logic within the target collection.

Initialization Sequence

Typically, the equipment system should be initialized only after the inventory system setup is complete, ensuring that inventory data is readily available.

Loading Blueprint

Initializing BlueprintUE renderer...

Relationship with inventory system

Upon initialization, this system actively monitors changes to item stacks within the target collection of the inventory system component.

It dynamically retrieves items in corresponding slots and generates respective equipment instances based on the item data.

Consequently, any modifications—addition, deletion, or alteration—to items in the target collection inherently translate to equivalent changes in equipment management.

Creating Equipment Definitions

Defining a piece of equipment essentially involves creating an item definition that incorporates the EquippableSettings data fragment.

In the default implementation of the equipment system, only items with EquippableSettingsare processed by the system when changes occur within the target collection.

Equippable Settings

Key Configuration Options:

  • InstanceType: Determines the type of equipment instance, which governs the specific game logic for “equipped” items. Only classes implementing the GIS_EquipmentInterfacecan be selected.
  • AutoActivate: Dictates whether the equipment instance is automatically activated upon creation. For instance, a player might equip multiple weapons simultaneously, but only one is active (e.g., held in hand), while others remain inactive (e.g., strapped to the back).
  • ActorBased: Equipment instance types can be based on UObject or Actor.
  • ActorsToSpawn: If the equipment instance type is UObject, a set of Actors can be associated and spawned alongside the instance. For example, equipping a weapon might simultaneously spawn a sword in the right hand and a shield in the left.

For comprehensive information on equipment instances, refer to: Equipment Instance

Extension Fields

You may subclass UGIS_ItemFragment_Equippable to introduce new fields for equipptable settings. Alternatively, create distinct item data fragments for various equipment aspects directly via blueprints or C++.

Equipment Groups

In games, there is often a need to switch between different pieces of equipment.

For instance, in Elden Ring:

  • Switching between right-hand weapons.
  • Switching between left-hand weapons.
  • Alternating between spells.
  • Cycling through usable items.

Designing Equipment Groups

To implement equipment groups, simply define clear Tag hierarchies when designing item slots within the Item Slot Collection.

For example, with slots labeled Slots.Weapon.1 and Slots.Weapon.2, you can establish a weapon group under “Slots.Weapon.”

This allows you to toggle between Weapon.1 and Weapon.2 via the API.

Displaying Equipment Groups

GIS provides the WB_GIS_EquipmentGroup widget, which can be configured to track a specific group. It automatically constructs the layout based on the configuration, monitors changes in the equipment group within the equipment system component, and updates the UI accordingly.

Additionally, you can choose to display it as a list or showcase only the active equipment (single Entry).

API

he equipment system offers a range of APIs.

Loading Blueprint

Initializing BlueprintUE renderer...

In the blueprint Context Menu, filter for all equipment system APIs using GIS|EquipmentSystem.

Integration without screenshots

Prepare inventory and equipment components on an Actor, configure a target slot collection and TargetCollectionTag. After inventory initialization, call InitializeEquipmentSystem on authority or use InitializeEquipmentSystemWithInventory to provide an inventory explicitly. Create an item with GIS_ItemFragment_Equippable, put it in a compatible slot, and observe instance creation, activation, and removal on server, owner, and remote clients.