Skip to main content

Blueprint reference

Everything below is callable from Blueprint with no C++. Nodes are grouped by intent rather than by class, because that is how you look for them.

Authority-only nodes are marked ⬤ server. They return false and do nothing on a client — use the Request variant instead.

Where Blueprint stops

Running an inventory needs no C++. Inventing a new kind of fragment, rule, layout or transaction does, because those are USTRUCTs and a Blueprint struct cannot inherit from a native one. The shipped set is large and composable, so most projects never reach that edge — see Extending → What needs C++ for the exact line.

Finding an inventory

NodeReturns
Get Inventory Manager (Actor)The actor's inventory, via IEDInventoryOwner or its components
Get Container (Tag)The first container of a kind
Get Containers By Tag (Tag)All containers of a kind
Get Container By Id (Guid)Exactly one container
Get Containers By Item (Handle)The containers an item brought with it
Get ContainersEvery container
Get Containers With Tags (Tags)Containers whose definition carries descriptive tags
Get Container Definition (Tag)The asset a container was built from
Get Default ContainerThe container the default query selects

Adding and removing — whole inventory

NodeNotes
Try Add Item (Definition, Count, Preferred Container) ⬤ serverRouted by data when no container is named
Try Remove Items (Definition, Count) ⬤ serverSpans containers, smallest piles first, all-or-nothing
Try Remove Item (Handle) ⬤ serverOne specific stack
Try Move To Container (Handle, Target Tag, Count) ⬤ serverBetween this actor's own containers
Get Item Count (Definition)Summed across everything
Has Item (Definition, Count)
Find Container For (Definition, Count)Where it would go; null means nowhere

Adding and removing — one container

Call these on a UEDContainer, not on a component.

NodeNotes
Try Add Item (Definition, Count) ⬤ serverStack-aware
Try Remove Item (Handle) ⬤ server
Try Remove Items (Definition, Count) ⬤ server
Try Transfer Item (Handle, Target, Count) ⬤ server−1 transfers the whole entry
Try Transfer All (Target) ⬤ serverReturns how many entries moved
Sort Inventory (Mode) ⬤ server
Request Transfer Item (Handle, Target, Count)Safe anywhere
Request Sort (Mode)Safe anywhere
Request Transaction (Transaction)Safe anywhere
Evaluate Add Item (Definition, Count)Dry run + player-readable reason

Reading a container

NodeReturns
Get All ItemsEvery entry, in storage order
Get Item At Index (Index)An entry; false when out of range
Find Item By Handle (Handle)An entry; false when absent
Contains Handle / Contains DefinitionBoolean
Count By Definition (Id)Units in this container
Get Total Item CountUnits of everything
Find Handles By Definition (Id)Every matching handle
Get Container Type / Get Container IdIdentity
Get Max Slots / Is UnlimitedCapacity
Get Owning Actor / Has Authority
Get Acceptance Error / Can Accept Entry (Entry, Instigator)Would this be accepted
Has Rule Of Type (Struct)

Containers at runtime

NodeNotes
Add Container (Definition) ⬤ serverReturns the live container
Add Nested Container (Definition, Owning Item) ⬤ serverBelongs to an item
Remove Container (Container) ⬤ serverRefuses one an item owns
Remove Container By Id / By Tag ⬤ server
Try Handle Stranded Item (Container, Handle) ⬤ serverRuns the handler chain

Items and fragments

NodeReturns
Resolve Definition (Id)The definition asset
Resolve Item Definition (Entry)The same, from an entry
Get Item Display Name (Entry)Falls back to the asset name
Get Item Footprint (Entry)Cells covered, rotation included
Does Item Cover Cell (Entry, Cell)
Get Fragment (Definition, wildcard)Copies a fragment by output pin type
Has Fragment Of Type (Definition, Struct)
Evaluate Prerequisites (…)Boolean + player-readable reason

Events

EventFires
On Inventory ChangedAny change in any container
On Stack Count ChangedAn item's actor-wide total changed
On Containers ChangedA container appeared or went away
On Initialization FinishedSetup finished or gave up
On Session Opened / ClosedA world container was opened or closed
On Transaction ResultThe outcome of a Request*
On Weight ChangedWeight module
On Item UsedUsable subsystem

When Ready (Callback) runs a callback once the inventory is usable, immediately if it already is.

Open containers

NodeNotes
Open Session (Container)Safe from a client; the server validates range
Close Session (Container)
Close All Sessions
Has Open Session (Container)This machine's view
Get Open Sessions
Validate Sessions ⬤ serverTicked automatically while any is open

User interface

NodeNotes
Set Source Inventory (Inventory, Container Tag)Prefer this. Binds by role; survives replication timing
Set Source (Container)Only for a container you already hold
Get View Model / Set View Model
Get Container (view model)
Get Entries / Find EntryThe cached snapshot
Request Move / Transfer / Swap / Split / SortServer-authoritative
Cycle Sort ModeAdvances and re-sorts; returns the new mode
Get Sort Mode Label (Mode)Button caption
Set Quick Transfer Counterpart (View)The double-click partner
Set Selected Index / Get Selected IndexBar views
Get Entry At Index (Index)Bar views

Feature modules

NodeModule
Can Craft (Container, Recipe) · Request CraftCrafting
Request Buy / Request Sell · Get Buy Price / Get Sell PriceTrading
Roll Loot Table (Table, Budget) · Give Loot (Container, Loot) ⬤ serverLoot
Is Usable · Get Use Info · Try Use Item ⬤ server · Request Use ItemUsable
Get Item Weight · Get Container Weight · Recalculate WeightWeight
Get Durability · Get Max Durability · Apply Wear · RepairDurability
Make Equipment Layout (Slot Tags) · Get Equip Slot · Is EquippableEquipment
Rotate item transaction · footprint helpersSpatial

Where next