-
-
Notifications
You must be signed in to change notification settings - Fork 24
Home
Welcome to the MounteaDialogueSystem wiki!
Mountea Dialogue System is an advanced C++ based plugin providing Unreal developers tools to create and manage in-game dialogues in a data-driven way. The whole system is created using abstract interfaces system combined with pre-defined components, giving developers options to either plug-n-play or use the foundations to make custom implementations.
Mountea Dialogue System was inspired by Witcher 3 and their amazing dialogue system, which is both visually simple and understandable yet very versatile so it can fit any situation.
Mountea Dialogue System is and will be always free, expanding its abilities over time, including but not limited to:
- Dialogue Node Editor
- Dialogue Data Validations
- Dynamic Dialogue Events
- Switching dialogues in runtime
To start with Mountea Dialogue System go to Getting Started page which covers (not just) the basic setup and most use-cases.
If looking for simple answers, go to FAQ.
graph TD
A[BeginPlay] --> B[OnDialogueInitialized]
B --> C[OnDialogueContextUpdated]
B --> D[OnDialogueStarted]
D --> E[OnDialogueNodeSelected]
E --> F[OnDialogueNodeStarted]
F --> G[StartExecuteDialogueRow]
G --> H[OnDialogueRowStarted]
H --> I[OnDialogueVoiceStartRequest]
I --> J[FinishedExecuteDialogueRow]
J --> K[OnDialogueRowFinished]
J --> L[OnDialogueNodeFinished]
L --> M[OnDialogueClosed]
C -->|Updates| C1[Dialogue Context]
F -->|Processes| N[Dialogue Node]
E -->|Handles| E1[Node Selection]
subgraph Dialogue Lifecycle
A -->|Initialize| B
B -->|Start| D
D -->|Select Node| E
E -->|Start Node| F
F -->|Execute Row| G
G -->|Voice Start| I
I -->|Finish Row| J
J -->|Finish Node| L
L -->|Close Dialogue| M
end
subgraph UI Management
A -->|Invoke UI| P[InvokeDialogueUI]
P -->|Update UI| Q[UpdateDialogueUI]
Q -->|Close UI| R[CloseDialogueUI]
end
subgraph Replication
A -->|Setup| S[GetLifetimeReplicatedProps]
S -->|Replicate| T[ReplicateSubobjects]
end
subgraph Event Handlers
B -->|Initialized| U[OnDialogueInitializedEvent_Internal]
C -->|Context Updated| V[OnDialogueContextUpdatedEvent_Internal]
P -->|UI Changed| W[OnDialogueUserInterfaceChangedEvent_Internal]
D -->|Started| X[OnDialogueStartedEvent_Internal]
M -->|Closed| Y[OnDialogueClosedEvent_Internal]
E -->|Node Selected| Z[OnDialogueNodeSelectedEvent_Internal]
F -->|Node Started| AA[OnDialogueNodeStartedEvent_Internal]
L -->|Node Finished| AB[OnDialogueNodeFinishedEvent_Internal]
H -->|Row Started| AC[OnDialogueRowStartedEvent_Internal]
K -->|Row Finished| AD[OnDialogueRowFinishedEvent_Internal]
I -->|Voice Start Request| AE[OnDialogueVoiceStartRequestEvent_Internal]
J -->|Voice Skip Request| AF[OnDialogueVoiceSkipRequestEvent_Internal]
end