Knowledge base
Knowledge base
Knowledge base
Free, anonymous browsing of Unreal Engine Blueprint examples, node references, and best practices. The same content the WoalzCraft plugin uses to generate Blueprints.
33 results for data
Pattern: custom trigger or UI button → [save player data to SaveSlot] → OpenLevel(LevelName='Level_02', bAbsolute=true, Options=''). For loading screen: SetGlobalTimeDilation(0.001) briefly while level loads (freeze world), or use AsyncLoadLevel with progress callback. Key: OpenLevel is in GameplayStatics. 'LevelName' is the map asset name (not full path). bAbsolute=true discards current level completely. Options string can pass params like '?GameMode=BP_GM'.
Save: CreateSaveGameObject(MySaveGameClass) → Cast → SET variables → SaveGameToSlot(Object, SlotName, 0). Load: DoesSaveGameExist(SlotName, 0) → Branch → True: LoadGameFromSlot(SlotName, 0) → Cast to MySaveGame → GET variables. Put save/load logic in GameInstance for persistence across levels.
Returns nullptr if slot doesn't exist. Always check DoesSaveGameExist first.
Load Game from SlotUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoA user-defined data type bundling related fields (e.g. S_InventoryItem with Name+Count+Icon). Make/Break nodes convert.
SETUP: In your BP, create an Event Dispatcher (e.g. 'OnPlayerDied') in the My Blueprint panel. BIND (in another BP): Get reference to actor → Bind Event to OnPlayerDied → connect a Custom Event as the target. CALL (in owning BP): Call OnPlayerDied (appears as a pink node) → this broadcasts to all bound listeners. Key: Event Dispatchers are called with 'Call <DispatcherName>' (not 'Broadcast'). Binding is done via 'Bind Event to <DispatcherName>' which has an 'Event' exec-like pin.
Save Game to SlotUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoSAVE pattern: EventBeginPlay or custom → CreateSaveGameObject(SaveGameClass=BP_SaveGame) → CastTo<BP_SaveGame> → Set all variables on cast result → SaveGameToSlot(SaveGameObject=cast result, SlotName='SaveSlot1', UserIndex=0). LOAD pattern: DoesSaveGameExist(SlotName='SaveSlot1', UserIndex=0) → Branch → True → LoadGameFromSlot(SlotName='SaveSlot1', UserIndex=0) → IsValid → Is Valid → CastTo<BP_SaveGame> → read variables. Key pins: SaveGameToSlot inputs 'SaveGameObject' (SaveGame), 'SlotName' (string), 'UserIndex' (int). LoadGameFromSlot inputs 'SlotName' (string), 'UserIndex' (int), output 'ReturnValue' (SaveGame).
SETUP: 1. Create struct FItemData: {Name(Name), Damage(float), Icon(Texture2D), Description(Text)}. 2. Create DataTable with row type FItemData. Add rows (Sword, Bow, Staff...). READ: GetDataTableRow(Table=DT_Items, RowName='Sword') → Row Found exec → BreakFItemData(OutRow) → use Damage, Name, etc. DYNAMIC READ (from variable): SetVariable(CurrentItemName='Bow') → GetDataTableRow(RowName=CurrentItemName) → same flow. LIST ALL: GetDataTableRowNames → ForEachLoop → GetDataTableRow per name → display. Key: GetDataTableRow exec outs are 'Row Found' and 'Row Not Found' (NOT 'then').
A spreadsheet-like asset holding rows of a struct type. Great for item catalogs, dialogue lines, level configs.
string