New Database
A new Inventory System Database can be created from the Setup Manager located within the Inventory Manager editor. The Inventory Manager can be accessed through the Tools -> Opsive -> Ultimate Inventory System -> Main Manager.
Important: Creating the parent folder of the database within the file explorer while creating a database may cause a “Missing Parent Folder” error. Simply create the parent folder first and then press the “New” button.
When creating a Inventory System Database from scratch it will come with an “All” Item Category with two Item Definition attributes “Icon” and “Description”. These two attributes are the most common attributes people will use. You may rename or delete this Item Category if you wish to.
It is recommend that you add a few Item Categories you believe you will need such as “Consumable”, “Equippable”, or “Droppable”. These can be considered as “functional” Item Categories, and is a good way to organize Items by their functionality. You may also have “Food”, “Weapon”, or “Material” which could inherit the “All” Item Category as well as a subset of the “functional” categories to further group your items. Detail categories such as “One-Hand Weapon”, “Sword” or “Knife” can be added to differentiate items which are within the same parent Category.
Any attribute defined in an Item Category will be inherited by all its Item Definitions. Therefore it is important to organize your Item Categories and set the attributes in the correct place.
Example: Lets assume you want to make a game with different types of weapon. You may have the following Item Categories “All”, “Weapon”, “Droppable” and “Melee Weapon”, “Ranged Weapon”. “Weapon” could have “All” and “Droppable” as parent and “Melee Weapon” and “Ranged Weapon” as children. For the attributes you might have the following:
- “Icon” and “Description” in the “All” category as Item Definition attribute
- “DropPrefab” in the “Droppable” category as Item Definition attribute
- “WeaponPrefab” and “Attack” in the “Weapon” category as ItemDefinition attribute
- “Clip Size” in the “Range Weapon” as ItemDefinition attribute and “Clip Remaining” as Item attribute
The above example would give you a good organization to seperate functionality depending on whether to the weapon is Ranged or Melee. In addition having the Droppable category seperate would allow you to drop other types of items like “Material” if you decide to add some later.
These are just examples, you may organize your categories and attributes however you like and make sense for your game.
For more examples on how to organize attributes look at this page.
Item Categories
The Item Categories are the most important inventory object as it structures your item database, decides the attributes for all of the items, and is also used to separate the actions that can be performed on each item. Learn more about Item Categories here.
Item Definitions
Item Definitions can be thought of as templates for your items. The Item Definition will have attributes that are common across all of it’s item instances. Each item instance may have a different attribute value for the same Item Definition.
As an example you may have a “Big Sword” Item Definition which has different attack values for each item instance. Learn more about Item Definitions here.
Items
Items are created at runtime from the Item Definition. The Default Attribute values of an Item can be defined in the Item Definition Editor. Learn more about Items here.
Attributes
Attributes hold the data on the Item Category, Item Definition and the Item. They can be any type. For example an “Icon” attribute can hold a Sprite and a “Description” attribute could hold a string. Some attributes are quite common such as “Description” and “Icon”.
Important:
The most common attributes which are sometimes predefined in the UI Item View Modules or other components in the system can be found here.
For more tips on creating good Attributes for your items take a look at this page.
For detailed information on the Editor functionality to create the Inventory Objects and Attributes go to the Editor Window section.