How do I make a dialogue system?

I want a dialogue system with some features, i managed to do a simple one but i dont think its good for a big project. I want to display the images of the characters that talk each other, i want at least 3 or 4 options for each text, and i dont want the old text to disappear i want to make it more like a messaging app to keep the backlog. Im kinda new to blueprint and i dont know how to do all these, cam somene at least give some advices i appreciate the help.

Well, I’m in process to find out what is the best approach, and I’m kind of struggling with it.

Initially I needed a quest system, but than I thought that I will also need to have a dialog system for it, because having a quest from NPC is crucial mostly.

So far this is the best approach I found, but I don’t think it is the best.

This tutorial lacks further descriptions, like:

  1. how can we make dynamic user options to appear after some event have ocurred.
  2. what is the best approach to store this kind of information. I guess we can store this info inside of the Game Instance, but how specifically? Like, do we need to create some custom Structure which will contain anything I will think is fine to be stored in this Dialogue System variable, in addition of flags for the hidden options - already chosen dialogues? Or maybe there is a better approach?

Also, the problem of that approach are Datatables themselves. It is hard to validate all of the data correctness visually

But for starters - I think you might like the approach in the video, because it can be expanded.

For example you might want to use some specific animation or pose for specific NPC dialogue.
Or you might want to place the camera at different point of view.

Another problem of Datatables - they are exceptionally read-only, and it is frustrating. Seems like convenient mechanism to store enormous amount of pretty much everything, but no storing at runtime.