Skip to content

Architecture Overview

PlatanoGames edited this page Aug 8, 2026 · 8 revisions

Architecture Overview

PGX uses Unreal Engine's native extension model: plugins contain modules; modules expose subsystems, Data Assets, settings, native interfaces, Blueprint libraries and editor integrations. The framework does not replace the engine's object, reflection, asset or build systems.

Layers

flowchart TB
  Authoring[Project Settings and Data Assets]
  Core[PGXCore contracts and registries]
  Runtime[Domain runtime subsystems]
  API[Native and Blueprint APIs]
  Observe[Logs, trace, observables and inspectors]

  Authoring --> Core
  Core --> Runtime
  Runtime --> API
  Runtime --> Observe
  Observe -. editor feedback .-> Authoring
Loading

Foundation

PGXCore defines common configuration, profile, registry, messaging, handler, logging, trace, observability and validation contracts. Feature systems depend inward on Core.

Runtime systems

Audio, GameFlow, Loading, MGOS, PSO and Save own their domain types and subsystems. They do not have direct runtime compile dependencies on one another. Cross-system coordination uses Core messages, Gameplay Tags, interfaces and shared bridge payloads.

Editor experience

Feature editor modules expose focused tools. PGXEditorTools aggregates several inspectors. PGXDocs, PGXScaffold, PGXTutorials and PGXVersionControl retain separate editor workflows.

Module types

The preview contains:

  • 8 Runtime modules;
  • 12 Editor modules;
  • 2 UncookedOnly modules;
  • 1 DeveloperTool module.

Module type is part of the target boundary. Source being present in the repository does not by itself establish packaged-runtime compatibility.

Architectural contracts

  • Descriptors declare plugin requirements and loading rules.
  • Build rules declare compile-time module dependencies.
  • Data Assets/settings hold authored policy.
  • Subsystems own runtime lifecycle and state.
  • Gameplay Tags identify states, channels and domains.
  • Messages/delegates expose change without sibling compile dependencies.
  • Observability/editor tools show system state without controlling runtime behavior.

Continue with Plugin Topology, Configuration and Registry and Cross-Plugin Communication.

Clone this wiki locally