Core Concepts


ItemContainer is used to display items in UI. You can also add or remove items through this component, however it does not hold items directly. It references an ItemCollection where the items are added to. In other words ItemContainer in combination with ItemCollection show items in the UI.


ItemSlot is the component that has reference to ui elements and implements built in Unity handlers IDropHandler, IBeginDragHandler, IDragHandler and others. In combination with ItemContainer, this script displays the item in UI.


ItemCollection holds items (extends from IEnumerable) and can be used in combination with ItemContainers, Triggers or anything containing items. It is not recommended to use ItemCollections directly. ItemCollections can be populated with ItemGenerator, ItemGroupGenerator and ItemCollectionPopulator.


Triggers can be used to trigger an animation, to hide and show windows, run a behavior or execute your custom code. They can be undestood as an interface between GameObject’s including player, items, npc and UI. Together with TriggerActions, that are executed in a sequence order, you can create complex behaviours.


EquipmentHandler handles the visual items, when they are equiped or unequiped. They can be used to play equiped item related animations like attack, buff or reload.


InventoryManager has a reference to the ItemDatabase asset. Changes made to this ItemDatabase asset are persistent and will be not resetted even after restart of the game. Instantiate an item if you need a new copy of it. InventoryManager can also be used to Save and Load the game.