Download

How to create a dialogue system within BP?

Hi all, first time posting.

I’ve been learning UE4 for the past week and am loving it, but I want to create a text dialogue system for NPCs (hopefully just with BPs) and I have no idea how to do it.
*Obviously *I’ve searched youtube, forums and the wiki for tutorials and have found several, but none of them are up to date with version 9 or assume the reader is an experienced user.

I have tried to follow this tutorial: [Tutorial] Very basic dialogue system - Blueprint Visual Scripting - Unreal Engine Forums as it seems very basic but am I stuck at the first image because “init mouse” doesn’t appear to exist within my version. Very frustrating! Could someone answer this question or correct areas of this tutorial that may be out of date? Or better yet, upload a walk-through of the tutorial to youtube so noobs like myself can see a legit video tutorial on a dialogue system (there isn’t any good ones on youtube that aren’t selling something :frowning: )

I try to avoid asking for help on the internet as much as possible, but I’m at my wit’s end and I’m simply dying to have a dialogue system!

Thank you for your time :slight_smile:

Hey xMeddler,

That first part is a custom function called Init Mouse. That was a very basic system I made ages ago. I just recently got a headset and plan to start making RPG components that can be added to actors and will explain them on youtube once I find a decent software program to use and the time to do it.

If you have any other questions regarding the basics of that system feel free to ask. I can easily create it in 4.9 again as well and send it to you if you’d like.

Cheers,
Haka

Make each separate character dialog tree a component of your (custom) GameState. Give them each a separate name (as a property) and have them implement some interface that makes them easy to find.
For each character that can do dialog, add a separate component that knows how to find the dialog tree component that matches the character (by name property) out of the GameState (cast to your custom GameState class.)
Finally, cast a ray from camera center to see if it hits the character capsule of a character with a dialog. If so, show some “open dialog” indicator, set a “current dialog actor” field in the GameState, and enable some input button that enters dialog.
Inside the input action for “open dialog,” look up the “current dialog actor” and take the “dialog tree component” out from that. Let the Dialog Tree Component populate whatever UMB widget you want to present main text and the possible choices.