Narrative Systems — Asset Creation Sheet (11 assets)
UE5 Path: Content/Framework/Narrative/
Components (attach to player pawn or GameState)
BPC_NarrativeStateSystem
| Variable |
Type |
Default |
ActiveFlags |
Array<GameplayTag> |
Empty |
CurrentChapter |
GameplayTag |
Empty |
CurrentPhase |
GameplayTag |
Empty |
SetFlag(Tag): Add to ActiveFlags → broadcast OnNarrativeFlagSet
BPC_ObjectiveSystem
| Variable |
Type |
Default |
ActiveObjectives |
Array<GameplayTag> |
Empty |
CompletedObjectives |
Array<GameplayTag> |
Empty |
ActivateObjective(Tag): → Add to Active → broadcast OnObjectiveActivated → GS_CoreGameState.AddObjective(Tag)
BPC_DialoguePlaybackSystem
| Variable |
Type |
DialogueQueue |
Array<FDialogueLine> |
bIsPlaying |
Boolean |
bAutoAdvance |
Boolean |
PlayDialogue(DialogueData): → Show subtitles → play VO → advance queue
BPC_DialogueChoiceSystem
| Variable |
Type |
CurrentChoices |
Array<FDialogueChoice> |
SelectedChoiceIndex |
Integer |
PresentChoices(Choices): → Show WBP_DialogueChoice widget → wait for selection → return
BPC_BranchingConsequenceSystem
| Variable |
Type |
PendingConsequences |
Array<FDialogueChoice> |
ExecuteConsequence(Choice): → Grant items, set narrative flags, change relationships, trigger cutscenes
BPC_TrialScenarioSystem
| Variable |
Type |
Default |
TrialTimer |
Float |
0.0 |
bTrialActive |
Boolean |
false |
TrialSuccessThreshold |
Float |
60.0 |
BPC_CutsceneBridge
| Variable |
Type |
CurrentCutscene |
DA_CutsceneData |
bCutscenePlaying |
Boolean |
PlayCutscene(Data): → Set phase to Cutscene → play Sequence → on finish → restore phase
BPC_LoreUnlockSystem
| Variable |
Type |
UnlockedLore |
Array<GameplayTag> |
UnlockLore(Tag): → Add to unlocked → show notification → add to journal
BPC_EndingAccumulator
| Variable |
Type |
EndingConditions |
TMap<GameplayTag, Float> |
DominantEnding |
GameplayTag |
Data Assets (create instances per content)
| Asset |
Purpose |
DA_DialogueData |
Dialogue lines, speaker, VO, conditions |
DA_CutsceneData |
Level sequence, milestone flags, skip policy |
DA_ObjectiveData |
Title, description, prerequisites, rewards |
DA_TrialData |
Timer, success conditions, failure consequences |
Actor — BP_NarrativeTriggerVolume
Parent: TriggerVolume
| Variable |
Type |
TriggerTag |
GameplayTag |
bTriggerOnce |
Boolean |
NarrativeActions |
Array<S_NarrativeAction> |
OnOverlapBegin: → Execute narrative actions (set flag, start dialogue, activate objective, play cutscene)
Test These