# DA_EquipmentConfig — Data Asset > **⚡ C++ Status: Stub** — `Source/PG_Framework/Public/Inventory/DA_EquipmentConfig.h` provides `FDamageTypeResistance` struct (DamageType GameplayTag + Resistance float), `Durability`, `Weight`, and `GetResistance()` query. **Create Data Asset instances** (Right-click → Miscellaneous → Data Asset → `DA_EquipmentConfig`), one per equipment piece. Fill in damage resistances per type. See `docs/developer/cpp-integration-guide.md`. > > --- **Parent Class:** `UDataAsset` **Dependencies:** [`BPC_EquipmentSlotSystem`](../04-inventory/BPC_EquipmentSlotSystem.md) **Purpose:** Defines equipment slot configurations — which item categories map to which slots, socket names, and auto-equip rules. --- ## Variables / Structure | Field | Type | Description | |-------|------|-------------| | `Slot` | `E_EquipmentSlot` | Equipment slot identifier | | `SocketName` | `FName` | Character skeletal mesh socket | | `AllowedCategories` | `TArray` | Categories allowed in this slot | | `bAutoEquipOnPickup` | `bool` | Auto-equip matching items on pickup | | `bMustBeEmptyToEquip` | `bool` | Slot must be empty before equipping | | `VisualAttachmentClass` | `TSubclassOf` | Visual attachment actor class | --- ## Gameplay Tags - Namespace: `Equipment.Slot.` (e.g., `Equipment.Slot.Head`, `Equipment.Slot.Torso`) --- ## Validation Rules - `Slot` must be unique - `SocketName` must not be empty if visual attachment is used --- ## Example Data | Field | Value | |-------|-------| | Slot | Head | | SocketName | `head_socket` | | AllowedCategories | `[Equipment]` | | bAutoEquipOnPickup | true | --- ## Consumed By - [`BPC_EquipmentSlotSystem`](../04-inventory/BPC_EquipmentSlotSystem.md) ## Reuse Notes - Equipment configs are data-driven; new slots added without code changes