Skip to main content

Initialization

Before using equipment, initialize the component with inventories: Blueprint:
[Event BeginPlay]

[EquipmentComponent] → InitializeEquipment
   Main Inventory: [PlayerInventory]
   Equipment Inventory: [EquipmentInventory]
   Base Mesh:           [Mesh (main body)]
44eba8ecfbb16126da60a6815d558369.png C++:
void AMyCharacter::BeginPlay()
{
    Super::BeginPlay();

    EquipmentComponent->InitializeEquipment(
        EquipmentInventoryComponent,   // Equipment inventory (holds equipped items)
        MainInventoryComponent,        // Main inventory (receives unequipped items)
        GetMesh()                      // Base character mesh (for body-part hiding)
    );
}

Equip Item

Blueprint:
[EquipmentComponent] → EquipItemToSlot
   Item Instance: [Item to equip]
   Slot Index: 0  // Helmet slot
   Return: Success
2d729915e13777333cd3f35702a56088.png C++:
bool bSuccess = EquipmentComponent->EquipItemToSlot(ItemInstance, SlotIndex);
if (bSuccess)
{
    UE_LOG(LogTemp, Log, TEXT("Equipped item to slot %d"), SlotIndex);
}
What Happens:
  1. Validates item can go in slot (checks RequiredTag)
  2. Unequips current item in slot (if any)
  3. Places new item in equipment slot
  4. Updates visual mesh
  5. Activates equip ability (if any)
  6. Fires OnEquipmentChanged event

Unequip Item

Blueprint:
[EquipmentComponent] → UnequipItemFromSlot
   Slot Index: 0
   Return: Success
C++:
bool bSuccess = EquipmentComponent->UnequipItemFromSlot(SlotIndex);
What Happens:
  1. Removes item from slot
  2. Clears visual mesh
  3. Restores hidden body parts
  4. Activates unequip ability (if any)
  5. Returns item to main inventory
  6. Fires OnEquipmentChanged event

Unequip All

Blueprint:
[EquipmentComponent] → UnequipAllItems
a8937311408e3c35950141031ac701a4.png C++:
EquipmentComponent->UnequipAllItems();