# Inventory Systems — Asset Creation Sheet (10 assets) > **UE5 Path:** `Content/Framework/Inventory/` --- ## C++ Already Done - `BPC_InventorySystem` (31) — attach directly to pawn - `DA_ItemData` (07) — create Data Asset instances per item --- ## BP Assets to Create ### BP_ItemPickup (Actor) **Parent:** `Actor` → Add StaticMesh, SphereCollision, RotatingMovement | Variable | Type | Default | |----------|------|---------| | `ItemData` | `DA_ItemData` | Assign | | `Quantity` | Integer | `1` | | `BobAmplitude` | Float | `0.5` | | `BobSpeed` | Float | `2.0` | **Implements:** `I_Interactable` **OnInteract:** ``` ├─ Get Player → BPC_InventorySystem → CanAddItem(ItemData)? │ True → AddItem(ItemData, Quantity) → Destroy self │ False → Show "Inventory Full" prompt ``` ### BPC_ContainerInventory (Component) **Attach to:** Chests, drawers, cabinets, safes | Variable | Type | Default | |----------|------|---------| | `ContainerSlots` | `Array` | Empty | | `ContainerSize` | Integer | `12` | | `bIsOpen` | Boolean | `false` | ### BPC_ActiveItemSystem (Component) **Attach to:** Player pawn — manages quick-slot item | Variable | Type | Default | |----------|------|---------| | `QuickSlotCount` | Integer | `4` | | `ActiveItemIndex` | Integer | `0` | | `QuickSlots` | `Array` | Empty | ### BPC_CollectibleTracker (Component) **Attach to:** Player pawn | Variable | Type | Default | |----------|------|---------| | `FoundCollectibles` | `Array` | Empty | | `TotalCollectibles` | Integer | `0` | | `SetBonuses` | `Array` | Empty | ### BPC_ConsumableSystem (Component) **Attach to:** Player pawn | Variable | Type | Default | |----------|------|---------| | `LastConsumedItem` | `DA_ItemData` | None | | `UseCooldown` | Float | `0.5` | **UseItem(ItemData):** ``` ├─ BPC_HealthSystem → Heal(Item.ConsumableData.HealthRestore) ├─ BPC_StressSystem → AddStress(-Item.ConsumableData.StressReduce) └─ BPC_InventorySystem → RemoveItem(Item, 1) ``` ### BPC_DocumentArchiveSystem (Component) | Variable | Type | |----------|------| | `ArchivedDocuments` | `Array` | | `bHasUnread` | Boolean | ### BPC_EquipmentSlotSystem (Component) | Variable | Type | Default | |----------|------|---------| | `EquipmentSlots` | `Array` | 6 slots | | `EquippedWeapon` | `DA_ItemData` | None | ### BPC_ItemCombineSystem (Component) | Variable | Type | |----------|------| | `CraftingRecipes` | `Array` | ### BPC_JournalSystem (Component) | Variable | Type | |----------|------| | `ActiveQuests` | `Array` | | `CompletedQuests` | `Array` | ### BPC_KeyItemSystem (Component) | Variable | Type | |----------|------| | `KeyItems` | `Array` | | `bAutoUseOnTarget` | Boolean | --- ## Test These - [ ] Drop item pickup in level → walk over → item added to inventory - [ ] Use health pack → health increases, item removed from inventory - [ ] Combine items → new item appears in inventory - [ ] Equip weapon → appears on character mesh