Every PGX system exposes a clean Blueprint API through dedicated Blueprint Libraries. Zero subsystem access needed.
Every system follows the same 4-level category pattern: Core (3–4 most used) → Query (read-only) → Advanced (batch, cache) → Debug (history, telemetry).
Each system exposes its full API through a single UPGXFooBlueprintLibrary. Representative nodes shown below.
Pseudocode showing typical Blueprint node flows. Nodes call the same operations as C++.
// Blueprint: Save a counter to a slot (PGXDemo flow) PGX Save SaveContext( ContextTag: "PGX.Save.Context.Demo", SlotName: "DemoSlot" ) GetSaveGame( DomainTag: "PGX.Save.Domain.Progress" ) → Data QuickSave( ContextTag: "PGX.Save.Context.Demo" ) DoesSlotExist( ContextTag: "PGX.Save.Context.Demo", SlotName: "DemoSlot" ) → bool // Data values are written in C++ (WriteInt). Nodes read them back.
// Blueprint: Play background music + sound effect PGX Audio | Playback PlayMusic( Music: MusicAsset, FadeIn: 2.0 ) PlaySound2D( Sound: ConfirmSound, Params: MakeParams ) PGX Audio | Volume SetChannelVolume( ChannelTag: "PGX.Audio.Channel.Music", Volume: 0.7 ) GetChannelVolume( ChannelTag: "PGX.Audio.Channel.SFX" ) → float CurrentVolume
// Blueprint: Execute an event, register a handler PGX EventHandler QuickExecute( EventTag: "PGX.Event.Ability.Cast" ) → EPGXEventResult PGX EventHandler | Advanced RegisterHandler( EventTag: "PGX.Event.Ability.Cast", HandlerClass: MyHandler, Lifecycle: Cached ) // Query: CanExecuteEvent, IsEventRegistered
The 4-level pattern above isn’t theory. Here it is in the actual editor: Data, Data|Read, Data|Write, Query, Advanced, Debug — organized so you find the right node without scrolling a flat list.
Fire events, register handlers, query execution history. The same Core/Query/Advanced/Debug pattern you already know from Save. Learn one, know them all.