Overview
The main challenge in creating the Inventory System plugin was figuring out how to generalize its usability such that it can be used in various types of inventory mechanics (grid-based, weight-based, limitless, etc.).
At the time of creating this plugin, I was only interested in making the plugin fit for my main project (see Project Bongo), which required the ability to:
- limit the capacity of an inventory category
- stack and lock items
- track multiple instances of the same, non-stackable item
Features and API
Common features of the plugin include, but not limited to:
- Add/remove items to/from inventory, respectively
- Extendable UI data for items
- Save/load inventories and items synchronously and asynchronously
- Interface for any UObject-derived classes that can be added to an inventory
- Initialize inventories with preset items
Available nodes for the Inventory System plugin
Example Usage: Creature Archive
An example (albeit uncommon) usage was for Project Bongo, which needed a simple system that stores a collection of unlockable creatures.