Dialogue Plugin

Could someone point me in the right direction on how to accurately change the layout and appearance of the dialogue outputs? I’ve made copies and renamed as per the videos and works great, but when look in the widgets, the content in them is radically different from the output. Confused new person here :slight_smile:

What do you mean by that?

The MyDialogueWidget

https://i.imgur./SO1bSYN.jpg

and MyReplyWidget:

https://i.imgur./Gr9oA7j.jpg

Actual output:

https://i.imgur./PkqIgFJ.jpg

As you see the information actually in the widget could be confusing for someone unfamiliar with the way UE and UI work. I take it the text at the bottom of the dialogue widget gets replaced by the plugin in some way, however I don’t see how the reply widget mirrors the position of the players replies, or how to change them. I looked through the documentation and didn’t see any information regarding this, sorry for being such a pain.

The relationship between the conditions corresponding to each node supports “and”, can you support the corresponding “or” structure? What do I need to do to meet this need?
Thank you very much for your help.

https://i.gyazo./f99cf0ee2ca4246806b5e110abd4f91b.png

This is actually an interesting question, I wonder why nobody ever asked this before. I implemented a NotBlueprintable class called “Or Condition”, it nests other conditions and runs a logical “or” on them. I’ll include it in the next version. It’ll look like this:

https://i.gyazo./b5ef32447c9e01ea8f198c9ad52e9606.png

I’ll PM you with a diff from my repository so you can already start using it.

The nested relationship displayed by this condition may not be so convenient to use, and the hierarchical relationship between conditions may be confusing when the display conditions are relatively complex.

I think it might be helpful if I could come up with a bold proposal.

After configuring the conditions of 0, 1, 2, 3 and 4, a corresponding conditional relation expression can be filled in, and the union or relationship between the corresponding conditions can be judged by analysing the corresponding expressions.

For example, (0 & & 1) | (2 | | 3) & & 4. However, only relatively complex conditional judgments may involve the use of the expression.

Thank you for your timely help. I hope Dialogue Plugin will become stronger and stronger.

Thank you very much for your help!

Thanks for the suggestion, it’s an interesting alternative. It has an upside of being easy to use by programmers, but people unfamiliar with the syntax would be confused, and it’s also a typo-prone approach. And it’s difficult to implement. So I’ll leave it like it is for now, just maybe add an “And” condition (which nests other conditions) to allow for more versatility.

What you said is very reasonable. I lack this consideration. I think I have looked forward to updating this version to support my task dialogue. Thank you for your help.

Hello , this was mentioned earlier but i couldn’t understand how it was resolved, if i wanted to scroll through the displayed node choices with the keyboard instead of the of mouse , what nodes would i need to use , after setting up the widget i tried linking it to a keyboard focus node but its not really doing much from there and even then its still detecting mouse movement, can anyone help?

Can this use audio sounds for the words or is it just text?

Yes, it can.

There’s already this functionality for gamepads, so if you want to use keyboard arrows instead, you just change these (in your custom DemoDialogueWidget):

https://i.gyazo./08fdb620c52d6c79f1cdb83f81c377ce.png

ok I bought the plugin and downloaded the VR version demo for engine 4.20. Is there any documentation on how to set up the VR way of doing things? I know I can press k to open a dialogue but how do we add it to an NPC? I want to be able to go up to the NPC and use the plugin in VR mode, not just press k to open a dialogue. im just really confused right now because the youtube video has a NPC blocking the door and you do the intimidation factor but the VR project has none of this. am I suppose to download both and put them in my VR project so I can have the code for the NPC and get the code for the VR settings?

The plugin is only responsible for displaying dialogues. Interacting with objects (which is what you want to do here) is not part of the plugin, but part of basic Unreal functionality.

The demo projects show a lot of the functionality that people ask about. So feel free to open a normal demo and see how the dialogue opens there, then re-implement the same thing in your project.

To give you an idea, let’s assume you have an NPC class. It should have a field of type Dialogue. You put your dialogue asset in there. If you want to talk to that NPC, do a raycast from your camera a few meters forward and if you meet an NPC, open a dialogue using his dialogue asset. This is basic unreal, there’s no plugins for this.

when you say my NPC “should have a field of type Dialogue” do you mean the dialogue text tree? I created one and moved over the vr widgets and vr actor to my project

I created a widget inside my NPC , like you did with your vr dialogue actor and I set an overlap to trigger it but I get errors.

I’m going to send you a PM about this in a couple of minutes with a short video.

Thank you for your reply , i have changed the values and with the set focus keyboard node its working properly , except i can’t select anything with the enter button , this is what i did , for some reason the branch always fails and it automatically casts to the original demo reply widget. I thought of just setting the “clicked” boolean as true from the get go because logically the function shouldn’t be called unless the button was clicked , or is there something that i am missing? Thank you for your time.

Why is it “CastToDemoReplyWidget” and not “CastToDemoReplyWidget_2” on your second screenshot? Did you follow the video on how to import widgets into your project, specifically at this timestamp?

@ I clearly missed out on it completely , thank you for your patience and quick reply ,cheers.