From zero to working system in 5 steps. No PGX internals knowledge required.
In your .uproject or through Edit → Plugins, enable PGXCoreRuntime and the L2 plugins you need (e.g., PGXSaveRuntime, PGXAudioRuntime).
Right-click in Content Browser → PGX FRAMEWORK → Create a Config DataAsset for your system (e.g., UPGXSaveConfig). The system auto-discovers it at startup.
Open the DataAsset in the Details panel. Fill in the configuration. Default values work out of the box — customize only what you need.
Hit Play in Editor, open console (~). Type pgx.save.status or pgx.audio.status to verify. Every system has diagnostic commands.
Want custom behavior? Set ClassSourceMode to Blueprint or CppClass in the Construction DA. Create your class, the system uses it automatically.
Right-click in Content Browser → every PGX DataAsset organized by system. 58 asset types across 13 systems. No searching, no memorizing paths — the menu guides you to exactly the right asset.
Open any Config DataAsset and fill in properties. Defaults work out of the box. Advanced settings are hidden behind progressive disclosure (AdvancedDisplay). Zero documentation needed to get started.
The same functionality, two paths. C++ for direct subsystem access, Blueprints for zero-friction visual scripting.
// Step 1: Get the subsystem UPGXSaveSubsystem* Save = GetGameInstance()->GetSubsystem<UPGXSaveSubsystem>(); // Step 2: Use the API Save->SetDomainValue(Tag_Player, TEXT("Health"), 100); Save->SetDomainValue(Tag_Player, TEXT("Level"), 5); // Step 3: Save Save->QuickSaveAsync(Tag_AutoSave);
// No subsystem access needed — use the BP Library directly PGX Save | Data | Write SetDomainValue(DomainTag, Key, Value) QuickSaveAsync(SlotTag) → OnComplete PGX Audio | Core PlaySound(SoundTag) PlayMusic(MusicTag, FadeIn)
The code above runs. The Polymorphic Log Viewer v3.0 captures it all: categorized logs with per-system color coding, filters, search, and live updates. No breakpoints, no external tools.
One mental model. One workflow. Two paths to the same destination.
Every system has a Config DA. Create it in Content Browser, fill properties, done. The system auto-discovers it at startup. One container, one flow, one mental model.
Blueprint user: activate the checkbox, drag your BP class. C++ user: select from the dropdown. The DA accepts your piece, the system uses it. No architecture decisions required.
A developer who has never read PGX source code can create an asset, fill in properties, and have a working system. If they need docs to find a setting, the UX has failed.