Skip to main content

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.

FieldType
Display NameFText
DescriptionFText
CategoryFText — the label, distinct from the definition's category tag
IconTSoftObjectPtr<UTexture2D> — streamed asynchronously

Stack

FieldMeaning
StackableWhether stacks merge at all
Max Stack SizeUnits per stack
Maximum QuantityCap across the whole inventory. 0 = uncapped

Stacking also requires identical per-stack state and identical dynamic tags — see Items and fragments.

Size

FieldMeaning
Width / HeightCells covered in a grid layout
Use ShapeWhether the occupancy mask applies
Occupancy MaskPer-cell booleans for non-rectangular items

Rarity

FieldMeaning
Rarity TagThe tier, e.g. Inventory.Rarity.Epic
ColorAccent colour used by slots and tooltips
TierA number, for sorting

Container Placement

Where the item wants to go. See Placement and routing.

FieldMeaning
Preferred ContainersOrdered tags; the first that accepts wins
Container QueryContainers the item tolerates at all

Nested Container

The item brings a container with it. See Nested containers.

FieldMeaning
Container DefinitionThe container it brings
Container Filter / Slot FilterWhere the item must be for it to be open

Prerequisites

Conditions checked before a container accepts the item, reported as player-readable text.

PrerequisiteChecks
Required ItemAnother 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.

FieldMeaning
RollsPer-stat tag, range and roll mode
Roll ModeUniform, weighted toward the middle, and so on

World Model

How the item looks on the ground. See Items in the world.

FieldMeaning
Model TypeStatic mesh, skeletal mesh or actor class
Mesh / Actor ClassWhat to show
Override MaterialPer-item material override
Offset / Rotation / ScaleResting transform
Simulate PhysicsWhether it falls

Grants (GAS)

Effects, abilities and attribute sets granted while the item sits somewhere. See Gameplay Ability System.

FieldMeaning
Effect GrantsEffect + condition
Ability GrantsAbility + condition
Attribute Set GrantsAttribute set + condition

Each condition carries a Container Filter and a Slot Filter.

Equipment module

Equipment

FieldMeaning
Equip SlotThe slot tag this item can be worn in

Equipment Visuals

A list of states, each with filters deciding when it applies. See Equipment.

FieldMeaning
Container / Slot / State FilterWhen this state applies
Visual TypeStatic mesh, skeletal mesh or actor
Mesh / Skeletal Mesh / Actor ClassWhat to show
Follows Avatar PoseWhether a skeletal piece uses the character's animation
Anim Class / Avatar Anim LayerAnimation for the piece
MaterialOverride
Attach Socket / Offset / Rotation / ScaleFit, relative to the slot anchor
Attach FinderWhich mesh to attach to
PrerequisitesConditions the state requires
Gameplay OnlyGrants effects, shows nothing

Other modules

FragmentModuleAnswers
WeightWeightUnit weight
ValueTradingBase worth; without it an item cannot be sold
UsableUsableUse-effect tag, verb, consumption
DurabilityDurabilityMaximum durability and what happens at zero
Mutable EquipmentEquipment · MutableCustomizable 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 = UEDItemFunctionLibrary::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.

One of each

At most one fragment of each type per definition. Asset validation flags duplicates, because the second one would silently never be read.

Where next