Fragment reference
A fragment answers one question about an item. Absence is the default: an item with no Stack fragment does not stack, and one with no Size fragment is one cell.
All of them are USTRUCTs deriving from FEDItemFragment, stored in a definition's Fragments
array. None has virtual functions.
Core
Display
Name, description, icon, category label. What the UI reads.
| Field | Type |
|---|---|
| Display Name | FText |
| Description | FText |
| Category | FText — the label, distinct from the definition's category tag |
| Icon | TSoftObjectPtr<UTexture2D> — streamed asynchronously |
Stack
| Field | Meaning |
|---|---|
| Stackable | Whether stacks merge at all |
| Max Stack Size | Units per stack |
| Maximum Quantity | Cap across the whole inventory. 0 = uncapped |
Stacking also requires identical per-stack state and identical dynamic tags — see Items and fragments.
Size
| Field | Meaning |
|---|---|
| Width / Height | Cells covered in a grid layout |
| Use Shape | Whether the occupancy mask applies |
| Occupancy Mask | Per-cell booleans for non-rectangular items |
Rarity
| Field | Meaning |
|---|---|
| Rarity Tag | The tier, e.g. Inventory.Rarity.Epic |
| Color | Accent colour used by slots and tooltips |
| Tier | A number, for sorting |
Container Placement
Where the item wants to go. See Placement and routing.
| Field | Meaning |
|---|---|
| Preferred Containers | Ordered tags; the first that accepts wins |
| Container Query | Containers the item tolerates at all |
Nested Container
The item brings a container with it. See Nested containers.
| Field | Meaning |
|---|---|
| Container Definition | The container it brings |
| Container Filter / Slot Filter | Where the item must be for it to be open |
| Content Policy | Whether the contents belong to the item and travel with it (Travel With Item, default) or to the carrier (Move To Owner) |
Prerequisites
Conditions checked before a container accepts the item, reported as player-readable text.
| Prerequisite | Checks |
|---|---|
| Required Item | Another item is held, or forbidden — bForbidden inverts it |
| Required Attribute (GAS) | A GAS attribute against a threshold |
Stat Rolls
Stats decided when the item is created rather than authored. Rolled once on the server, stored in the entry's state.
| Field | Meaning |
|---|---|
| Rolls | Per-stat tag, range and roll mode |
| Roll Mode | Uniform, weighted toward the middle, and so on |
World Model
How the item looks on the ground. See Items in the world.
| Field | Meaning |
|---|---|
| Model Type | Static mesh, skeletal mesh or actor class |
| Mesh / Actor Class | What to show |
| Override Material | Per-item material override |
| Offset / Rotation / Scale | Resting transform |
| Simulate Physics | Whether it falls |
Grants (GAS)
Effects, abilities and attribute sets granted while the item is somewhere, doing something. See Gameplay Ability System.
| Field | Meaning |
|---|---|
| Effect Grants | Effect + condition + level |
| Ability Grants | Ability + condition + level |
| Attribute Set Grants | Attribute set + condition |
Every grant carries the same condition and level:
| Field | Meaning |
|---|---|
| Container / Slot Filter | Where the item is kept, and on which peg |
| State Filter | What it is DOING there — Inventory.Equipment.State.Held. Usually the one you want |
| Level Source | Fixed (the number here) or Item State (a per-instance counter) |
| Level State Tag | Which counter, when the level comes from the item |
| Stack Mode | Once, or Per Unit for things that add up |
Each condition carries a Container Filter and a Slot Filter.
Equipment module
Equipment
Everything about an item as equipment: the slot it belongs in, and how it behaves and appears in each state it can be in. See Equipment.
| Field | Meaning |
|---|---|
| Equip Slot | The slot tag this item is worn in. Leave unset for something only ever held |
| States | One entry per state, first match wins |
Each state carries:
| Field | Meaning |
|---|---|
| State Tags | Which equipment states this covers. Empty means any state — what armour wants |
| Container / Slot Filter | Narrows it further, when the state alone is not specific enough |
| Visual Type | Static mesh, skeletal mesh or actor |
| Mesh / Skeletal Mesh / Actor Class | What to show |
| Follows Avatar Pose | Whether a skeletal piece uses the character's animation |
| Anim Class / Avatar Anim Layer | Animation for the piece |
| Material | Override |
| Attach Socket / Offset / Rotation / Scale | Fit, relative to the anchor |
| Attach Rule | Which component to attach to |
| Prerequisites | Conditions the state requires |
| No Model | The state is real but draws nothing — a ring, a passive charm |
Other modules
| Fragment | Module | Answers |
|---|---|---|
| Weight | Weight | Unit weight |
| Value | Trading | Base worth; without it an item cannot be sold |
| Usable | Usable | Use-effect tag, verb, consumption |
| Durability | Durability | Maximum durability and what happens at zero |
| Fuel | Crafting | How many seconds one unit burns for; without it an item is not fuel |
| Mutable Equipment | Equipment · Mutable | Customizable Object parameters to write while worn |
Reading a fragment
// From a definition
if (const FEDStackFragment* Stack = Definition->FindFragment<FEDStackFragment>()) { ... }
// From an entry, resolving the definition on the way
if (const FEDStackFragment* Stack = UEDItemStatics::FindItemFragment<FEDStackFragment>(Entry)) { ... }
Get Fragment (Definition, wildcard out) → Boolean
Has Fragment Of Type (Definition, Struct) → Boolean
The Blueprint Get Fragment node is a wildcard: pick the struct type on the output pin and it copies the first matching fragment, returning false and leaving the default if there is none.
At most one fragment of each type per definition. Asset validation flags duplicates, because the second one would silently never be read.
Where next
- Items and fragments
- Extending — writing your own