UInventoryItemBase
(UObject)
(UObject)
InventoryItems are the data representation of an item stored in a class (or Data-Only Blueprint) that can be instantiated at runtime. They are UObjects and do not exist within the game world. The base Item class provides built-in coordination with Inventorys and saving/loading and should be extended to develop items in the game. InventoryItems should also be used along with ItemActors where the ItemActor handles the game world representation of the InventoryItem.
InventoryItems as runtime objects both hold data about the item and track item stacking. They can also be used in both immutable and mutable ways. Immutable items at runtime should all have the same data and effects. Mutable items at runtime can be altered and each instance can save unique data that is recreated when loading the containing Inventory.
NOTE: The containing Inventory, not the InventoryItem, is responsible for saving the amount of each item stacked in an Inventory slot even though each slot only has one InventoryItem that is tracking its stack amount.
Add ItemTags to define what Inventorys this InventoryItem can be added to.
Sets the unique identifier for this item class (different from the instance ID).
Sets the default name of this InventoryItem.
Labels the InventoryItem as immutable or mutable.
Set what ItemActions this InventoryItem should offer on selection using ItemActionGroups for streamlining.
Set what ItemActions this InventoryItem should offer on selection.
Set the UI icon the InventoryItem should show.
Override this function to implement saving data unique to a derived Inventory class. Always make sure to call the parent function and pass the save game object up the inheritance tree when overriding.
NOTE: This function does not come from the SaveInterface like other classes. This function is only called by the containing Inventory.
Override this function to implement loading data unique to a derived Inventory class. Always make sure to call the parent function and pass the save game object up the inheritance tree when overriding.
NOTE: This function does not come from the SaveInterface like other classes. This function is only called by the containing Inventory.