Skip to main content

Item and Data Asset Setup

1. Create the Database​

In the Content Browser, create a Data Asset of class PDA_ItemDatabase. A food database can use InventoryKey = Food
and TargetInventoryTag = Cube_Inventory.Target.Character.Inventory.

Create a Data Asset Select the database class Food database configuration

InventoryKey categorizes the database. TargetInventoryTag selects the default route for AddAmount/RemoveAmount.
RequirementTags is declared metadata; the current manager does not enforce it. Entrys is the exact source spelling
of the hard-reference array of item masters.


2. Create an Item Master​

Select PDA_InventoryMaster. The PDF's PDA_ItemMaster wording refers to this class; no native class named PDA_ItemMaster exists in this source.

Select the item master class Example project folder organization Master configuration

FieldHow to configure it
ItemIDUnique non-None Name across all configured databases
ItemQualityItem quality metadata
bCanStackUI stack acceptance metadata; native systemic add uses MaxStackSize
MaxStackSizePositive stack limit; use 1 for nonstacking items
bCanTradeWithPlayersMetadata for your trade rules
WeightWeight per item; there is no bUseWeight or ItemWeight property
ItemTypeSelects typed data and UI map lookups
TargetSlotTagsTags available to UI target compatibility checks
ActionTagsDeclares actions; does not implement consume/equip behavior
GameplayTagsAdditional payload/project metadata

Set compatible exact target tags in TargetSlotTags. The UI combines TargetSlotTags, ActionTags and GameplayTags into
the payload tag container. This is a presentation check, not authoritative access control. Server-side add/remove does
not automatically enforce these item tags.


3. Add a Description​

Create PDA_InventoryItemDescription, fill Description and optionally TextMap, then assign it to the master's soft
ItemDescription reference. The native tooltip loads this asset when needed.

Select description class Description data


4. Add Slot Presentation Data​

Create PDA_InventorySlotData. Fill SlotData.ItemName, Icon and Usability, then assign it to InventorySlotData
on the master. The class implements I_InventoryEntryListener::GetSlotData.

Select slot data class Slot presentation

Usability is metadata. Selecting Consumable or Equipable does not perform an inventory mutation or
apply a gameplay effect.


5. Add Typed Data​

Food and Medical masters use PDA_InventoryConsumableData: choose ConsumableType and its FoodValue, WaterValue,
HealthValue or ArmorValue. Assign the asset to InventoryFoodData or InventoryMedicalData as appropriate.

Select consumable data class Consumable definition

Other typed references cover Weapon, WeaponAttachments, Ammo, Magazine, Crafting, Tools, Armor, Tasks and Other.
Some classes are currently empty extension containers. See Data Assets and Header Reference for
actual fields.


6. Register the Item​

Assign the description, slot and typed assets to the master. Add the master to the database's Entrys, then add the
database to Project Settings DatabaseArray. Creating an asset alone does not make GetItemByID resolve it.

Completed master setup Database registered in project settings

The database array is soft-loaded, but its Entrys references are hard. Loading a database therefore also loads its
referenced masters; nested soft UI/typed assets remain separate. Do not store mutable per-stack state in shared
definition assets.