Complete Node¶
Complete Node is where a branch of your Dialogue Tree ends. This page covers why it ends the Dialogue - and it isn't because of any special "ending" logic baked into the node itself.
1. What Complete Node Is¶
UMounteaDialogueGraphNode_CompleteNode derives from UMounteaDialogueGraphNode_DialogueNodeBase, and like Lead and Answer, it doesn't override ProcessNode - see the Dialogue Node Intro page for the shared lifecycle. Complete Node's behaviour comes entirely from configuration, and specifically from something outside the node's own code:
Does Auto Startisfalse.- Has no output pin. Complete Node is configured with no outgoing connections allowed at all in the graph editor - you'll never see an output pin on it, and there's nothing to wire up.
- Requires a Dialogue Data Table. Even though it ends the conversation, it still shows a line of text (a farewell, a closing remark) via the same
DataTable/RowNamepair everyDialogueNodeBasenode uses.
Info
Complete Node ending the Dialogue is a consequence, not a feature the node implements. When the Session finishes processing a node, it computes that node's allowed children. Complete Node structurally has zero - it has no output pin to connect from - so the child count comes back empty and the Session closes the Dialogue. Any node with zero reachable children would end the Dialogue the same way; Complete Node is simply the type built to always have zero.
2. Setting Up a Complete Node¶
- Add a Complete Node wherever a branch of the conversation should be allowed to end - after a final Lead Node line, or directly after an Answer Node that means "leave."
- Set Data Table and Row Name for the closing line, same as any other Dialogue Node Base type.
- Leave it there - there's no output pin to connect.
#include "Nodes/MounteaDialogueGraphNode_CompleteNode.h"
class UMyCustomCompleteNode : public UMounteaDialogueGraphNode_CompleteNode
{
// Ending behaviour comes from having no output pin, not from
// overriding ProcessNode - most subclasses won't need to touch it.
};
Warning
Complete Node still needs a valid DataTable/RowName to pass runtime validation, exactly like Lead and Answer. A Complete Node with no dialogue data will block the whole Dialogue from starting, the same as any other unfinished DialogueNodeBase node.