Skip to main content
Use SetEquippedItemCharges to update the charge count on an already-equipped item without triggering the full equip/unequip cycle. This is the intended path for ranged weapon ammo and similar consumable stats. C++:
// Decrement arrow count by 1 on each shot (e.g., in GA_RangedAttack)
FItemInstance Quiver = EquipmentComponent->GetEquippedItem(QuiverSlotIndex);
int32 NewCount = Quiver.CurrentCharges - 1;
EquipmentComponent->SetEquippedItemCharges(QuiverSlotIndex, NewCount);
// Fires OnEquippedItemChargesChanged → HUD updates automatically
Blueprint:
[EquipmentComponent] → SetEquippedItemCharges
   Slot Index:   [QuiverSlotIndex]
   New Charges:  [CurrentCharges - 1]
b10ec2a27b592e3b42e86bff0d988da5.png Charges are clamped to >= 0 internally. OnEquippedItemChargesChanged always fires even on no-op updates, so guard against that in performance-sensitive HUD code if needed.