Character State V1
Review draft. This source page has not completed website editorial and release-specific verification.
UCharacterStateProfile defines ordered state definitions and DefinitionVersion. Each definition has a StateId GameplayTag under CharacterState.*, one of five value types, a default, and optional managed numeric settings. DisplayName is optional presentation text only. StateId is the runtime and persistence identity.
Allow Runtime Changes controls ordinary gameplay mutation. Initialization and approved restoration may establish immutable values. Managed Integer and Float states enforce Min/Max using Reject or Clamp and expose normalized percentage, endpoint queries, and ordered crossing thresholds. Threshold arrays are not reordered.
Identity and authority
Section titled “Identity and authority”Persistent components use a CharacterId; temporary components use a RuntimeGuid. Components register with the subsystem when required. Persistent live and dormant state is isolated per Game Instance. Temporary state is never stored as dormant persistence.
The authority order is saved/restored snapshot > dormant state > Profile Default. Fresh components begin with Profile Defaults. ResetState and ResetAllMutableStates return mutable values to Profile Defaults.
Events and persistence
Section titled “Events and persistence”Character State is standalone and does not require SignalBus. ExecuteCommand executes locally through owner validation and returns its acknowledgement. Native Changed and ThresholdCrossed events are always available; command events preserve request ID and source context. NoChange and Rejected mutations are silent. Initialization and restoration are notification-silent. Optional SignalBus transport is provided externally through DirectorBridge when installed.
The core exposes CapturePersistenceSnapshot, ValidatePersistenceSnapshot, and RestorePersistenceSnapshot. SchemaVersion is 1. Snapshots contain semantic state only: persistent live and dormant records are included, temporary state is excluded, and restore validates before changing state. Omitted live persistent characters reset to Profile Defaults; an explicit valid empty snapshot is authoritative. Immutable Current values may be restored.
Editor and exclusions
Section titled “Editor and exclusions”Character State owns typed character state only and does not own Skill behavior. The obsolete ActorComponents CharacterStateSkillBridge product has been removed; optional CharacterState.Skill condition-to-modifier projection is provided by DirectorBridge.
Profiles use the normal Data Asset Details workflow with Display Name, type-aware settings, validation, tooltips, and friendly row headers. Component diagnostics show design-time profile data or live runtime Current values and managed diagnostics. Runtime values are read-only.
V1 excludes replication and network prediction, Gameplay Effects, ability systems, modifier stacks, timed buffs, damage execution, arbitrary variant state containers, profile switching/composition, runtime Details mutation, and component Initial Overrides.