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 Beings Beyond), 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
- Customizable item definitions
- Custom (and savable) item properties
- Modular usage definitions
- Evaluable, runtime GameplayTags
- 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 (non-exhaustive)
Use-cases
Creature Archive (Beings Beyond)