Skip to main content

Node Breakdown

The dialogue node is the base node that contains all the details you want in the specific line and shot that is being played. Its generic and used for both the Player and NPCs lines.

dialogue-node-created.webp

dialogue-line-base-id.webp dialogue-line-base-details.webp

Dialogue Node Properties

NameTypeDescription
LineFDialogueLineThe dialogue line associated with this node.
AlternativeLinesTArray<FDialogueLine>If alternative lines are added in here, narrative will randomly select either the main line or one of the alternatives.
OnDialogueFinishedFOnDialogueNodeFinishedPlayingDelegate that is called when the dialogue node finishes playing.
PlayedLineFDialogueLineThe last line the dialogue node played.
NPCRepliesTArray<UDialogueNode_NPC>Array of NPC replies for debugging purposes.
PlayerRepliesTArray<UDialogueNode_Player>Array of player replies for debugging purposes.
OnPlayNodeFuncNameFNameName of custom event to call when this node is reached.
DirectedAtSpeakerIDFNameThe ID of the speaker we are saying this line to. Can be left empty.
bIsSkippableboolShould pressing the enter key allow this line to be skipped?
ConditionsTArray<UNarrativeCondition>Conditions are functions that run before this node is pending selection and contain boolean returns that allow this node to be run or ignored.
EventsTArray<UNarrativeEvent>Events are functions that can run at specific states on quests & dialogue.

Dialogue Line

The dialogue line is the text, audio, camera and settings you want in the specific line that is being played.

These are seperated from the Node as during dialogue, you only need the base settings in order to process the shot making it more lightweight.

dialogue-line-details.webp

Properties

NameTypeDescription
TextFTextThe text for this dialogue node.
DurationELineDurationThe duration the line should play for.
DurationSecondsOverridefloatThe overridden seconds the line should play for.
DialogueSoundUSoundBaseIf a dialogue sound is selected, narrative will automatically play the sound for you in 3D space, at the location of the speaker.
DialogueMontageUAnimMontageNarrative will play this montage on the first skeletal mesh component found on your speaker with the tag "Body" added to it.
FacialAnimationUAnimMontageNarrative will play this montage on the first skeletal mesh component found on your speaker with the tag "Face" added to it.
ShotUNarrativeDialogueSequenceShot to play for this line. Overrides speaker shot if one is set.

NPC Dialogue Line

The line class is the standard for all dialogue nodes. This class inherits from it and adds extra variables.

NPC's have specific extra fields for added functionality that the player does not need.

dialogue-line-npc.webp

Properties

NameTypeDescription
SelectingReplyShotUNarrativeDialogueSequenceThe UNarrativeDialogueSequence that will be used while the user is selecting a player option.

Player Dialogue Line

The line class is the standard for all dialogue nodes. This class inherits from it and adds extra variables.

Player's have specific extra fields for added functionality that the NPC does not need.

dialogue-line-player.webp

Properties

NameTypeDescription
OptionTextFTextThe shortened text to display for dialogue option when it shows up in the list of available responses. If left empty narrative will just use the main text.
HintTextFTextOptional hint text after the option text, ie (Lie, Persuade, Begin Quest) If left empty narrative will see if events have hint text.
bAutoSelectboolIf true, this dialogue option will be automatically selected instead of the player having to select it from the UI as long as all conditions are met.