Zum Hauptinhalt springen

Architecture

Layers​

TypeResponsibility
USurvivalSettingsLocal developer configuration, defaults, intervals and maps
USurvivalSubSystemPer-Game-Instance infrastructure, world/timers, component getters and update delegates
UCrossAffectManagerCached mapping tables, same-Pawn destination routing through interfaces
Four survival componentsNumerical values, state tags, affect consumption and replication
Four component interfacesBlueprintNativeEvent query/mutation contracts
Project/Blueprint layerRPCs, gameplay permissions, widgets, movement, environment, GAS and persistence
Game Instance subsystem → pulse delegates → activated components
↑ ↓ state changes
world timers source whitelist
↓
CrossAffectManager → destination affects

Each component owns its stat family. Armor belongs to Health, Water to Food and Fitness to Stamina; they are not separate native components. The subsystem does not hold player stat snapshots. It searches the supplied Pawn using FindComponentByClass, returning the first matching component.

The manager uses concrete component getters and then interface Execute_ calls. It therefore is not a registry that discovers arbitrary interface-only stats. Objects/settings/managers are local; numerical values and state tag containers replicate through component owners.

The design separates reads and writes, but BlueprintReadWrite public properties and incompletely guarded mutation methods remain exposed. Use the intended server interface layer. See Replication, Cross-Affects and API Reference.