// Flat array — item instances only, no slot index
TArray<FItemInstance> AllItems = EquipmentComponent->GetAllEquippedItems();
// With slot indices — iterate slot definitions
TArray<FEquipmentSlotDefinition> Slots = EquipmentComponent->GetAllSlotDefinitions();
for (const FEquipmentSlotDefinition& Slot : Slots)
{
FItemInstance Item = EquipmentComponent->GetEquippedItem(Slot.SlotIndex);
if (!Item.IsEmpty())
{
UE_LOG(LogTemp, Log, TEXT("Slot %d (%s): %s"),
Slot.SlotIndex,
*Slot.SlotName.ToString(),
*Item.ItemID.ToString());
}
}