-
Notifications
You must be signed in to change notification settings - Fork 0
Cross Plugin Communication
PGX separates compile-time dependency from runtime coordination.
Feature runtime plugins depend on PGXCore, not on sibling runtime plugins. This keeps the dependency graph inward-facing and prevents feature-to-feature cycles.
Core message channels are addressed by Gameplay Tags and carry typed payloads. They support listeners, broadcasts and diagnostic history. Bridge payloads allow one feature to publish state without importing another feature module.
The event-handler subsystem maps a Gameplay Tag to a handler class. Handler lifecycle can be ephemeral, cached or singleton. This is command/behavior resolution, not the same mechanism as message broadcast.
Shared interfaces express stable capabilities such as saveable objects or tagged registry entries. Registries allow late discovery when a direct object reference would create unnecessary coupling.
Domain delegates expose strongly typed local lifecycle notifications. Use a Core message when the receiver is optional or lives in a sibling plugin; use a direct delegate when the relationship is already within the same dependency boundary.
sequenceDiagram
participant Flow as PGXGameFlow
participant Core as PGXCore Messages
participant PSO as PGXPSO
participant Loading as PGXLoading
Flow->>Core: flow-state bridge payload
Core->>PSO: matching state channel
PSO->>Core: warm-up progress/completion
Core->>Loading: loading presentation update
Loading->>Core: temporary state request
Core->>Flow: set or revert
No direct runtime Build.cs edge is required between these three feature
plugins.
- Development Preview
- Getting Started
- Release branch catalog
- Public Plugin Matrix
- Early Preview Plugins
- Known Issues
- Architecture Overview
- Plugin Topology
- Module Reference
- Configuration and Registry
- Data-Driven Design
- Profiles and Budgets
- Gameplay Tag Architecture
- Initialization Pipeline
- Cross-Plugin Communication
- Message System
- Event Handlers
- Logging and Trace
- Runtime Flows
- Blueprint API Design
- Editor Integration
- Editor Visual System