# Dialogue Plugin

**URL:** <https://forums.unrealengine.com/t/dialogue-plugin/59871>\
**Category:** UE Marketplace\
**Tags:** unreal-engine, fab\
**Created:** [March 31, 2016, 11:23pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871 "2016-03-31T23:23:48Z")\
**Posts on this page:** 20\
**Page:** 20

<div class="post-metadata">

**Author:** ![CodeSpartan](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/codespartan/32/1194561_2.png) [@CodeSpartan](https://forums.unrealengine.com/u/CodeSpartan)\
**Post date:** [March 13, 2019, 7:39am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/401 "2019-03-13T07:39:08Z")

</div>

> [@Arkad2](#):
>
> Hello everyone. I want to apologize if this has already been asked, but this is really hard to find. I’m kinda new in Unreal Engine, and my question is if I am able to create a dialogue node programmatically. Like for example, I have an NPC ID (who is speaking), a flag if the node is a PC answer, text itself and node id. I want to create programmatically a data asset of the dialogue plugin with all the nodes of the specific NPC. Would be greatfull if you tell me how this is possible. Many thanks and sorry for my bad English. Hope, I explained correctly.

To add nodes, have a look at this method: SDialogueViewportWidget::OnAddNodeClicked()

It’s not difficult to create nodes. What may be difficult is to create menus that would call your particular method.

> [@](#):
>
> When I use a delay inside a dialogue event and the dialogue ends while this delay still happens UE4 crashes as soon as this delay runs out.

Thanks for reporting it, it’s obviously a bug. I’ll try to see if I can address it soon.

In the meantime, you can call a method on your character or controller or some other blueprint and use a delay in there. That would work.

---

<div class="post-metadata">

**Author:** ![Daderot](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Daderot](https://forums.unrealengine.com/u/Daderot)\
**Post date:** [March 17, 2019, 10:54am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/402 "2019-03-17T10:54:18Z")

</div>

Hi, I have a problem with selecting Actor Objects Referances in a dialogue event that I created. I made a simple ‘Master Quest’ actor then created child actors of him and placed them in the level. I created a dialogue event that adds Quest (child of Master Quest) to Quest Log (Actor type). In the dialogue window after selecting the created event I can see the child actors (quests) in a drop down list however I am unable to select them, pressing on them does not work. Any ideas how to solve this ?

---

<div class="post-metadata">

**Author:** ![Sasha\_McLean](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Sasha\_McLean](https://forums.unrealengine.com/u/Sasha_McLean)\
**Post date:** [March 17, 2019, 11:51am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/403 "2019-03-17T11:51:47Z")

</div>

Hi .

Not sure if this has been answered somewhere else before:  
Is it possible to bind the text? In that, it picks a text from a data table (to swap between different languages)

---

<div class="post-metadata">

**Author:** ![chackaloso](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@chackaloso](https://forums.unrealengine.com/u/chackaloso)\
**Post date:** [March 20, 2019, 4:30am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/404 "2019-03-20T04:30:12Z")

</div>

Hi, when I click to the replies with the mouse cursor it freezes up and nothing works.  
If I select the reply with keyboard arrows and set it so enter responds then it will work…  
What do I need to do to get the mouse cursor to trigger the buttons?

---

<div class="post-metadata">

**Author:** ![CodeSpartan](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/codespartan/32/1194561_2.png) [@CodeSpartan](https://forums.unrealengine.com/u/CodeSpartan)\
**Post date:** [March 20, 2019, 10:54am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/405 "2019-03-20T10:54:47Z")

</div>

> [@Sasha\_McLean](#):
>
> Hi .
> 
> Not sure if this has been answered somewhere else before:  
> Is it possible to bind the text? In that, it picks a text from a data table (to swap between different languages)

The plugin is compatible with UE4’s native localization system.

> [@chackaloso](#):
>
> Hi, when I click to the replies with the mouse cursor it freezes up and nothing works.  
> If I select the reply with keyboard arrows and set it so enter responds then it will work…  
> What do I need to do to get the mouse cursor to trigger the buttons?

Please check out the #5.5 FAQ section in the documentation.

---

<div class="post-metadata">

**Author:** ![CodeSpartan](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/codespartan/32/1194561_2.png) [@CodeSpartan](https://forums.unrealengine.com/u/CodeSpartan)\
**Post date:** [March 20, 2019, 10:59am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/406 "2019-03-20T10:59:51Z")

</div>

> [@Daderot](#):
>
> Hi, I have a problem with selecting Actor Objects Referances in a dialogue event that I created. I made a simple ‘Master Quest’ actor then created child actors of him and placed them in the level. I created a dialogue event that adds Quest (child of Master Quest) to Quest Log (Actor type). In the dialogue window after selecting the created event I can see the child actors (quests) in a drop down list however I am unable to select them, pressing on them does not work. Any ideas how to solve this ?

Not a good idea to try and reference objects in the level.  
Reference their class instead and then find the objects of this class in level on runtime. If you have multiple instances of the same class and need a better way to differentiate between them, use the tags system as well.

---

<div class="post-metadata">

**Author:** ![Pakyman](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Pakyman](https://forums.unrealengine.com/u/Pakyman)\
**Post date:** [March 20, 2019, 11:08am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/407 "2019-03-20T11:08:27Z")

</div>

Hi @ I’m noticing that dialogues among multiple actors are not supported. Am I doing something wrong?

Pretty strange, since it’s just needed to have multiple names / npc references in the dialogs that you can switch in the single node!

---

<div class="post-metadata">

**Author:** ![chackaloso](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@chackaloso](https://forums.unrealengine.com/u/chackaloso)\
**Post date:** [March 20, 2019, 12:44pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/408 "2019-03-20T12:44:12Z")

</div>

> [@](#):
>
> Please check out the #5.5 FAQ section in the documentation.

Thanks for the response, yes I have verified and set it up correctly.  
It appears my other mission and compass UI was interfering with it, my error.

---

<div class="post-metadata">

**Author:** ![CodeSpartan](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/codespartan/32/1194561_2.png) [@CodeSpartan](https://forums.unrealengine.com/u/CodeSpartan)\
**Post date:** [March 25, 2019, 5:41pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/410 "2019-03-25T17:41:32Z")

</div>

> [@Pakyman](#):
>
> Hi @ I’m noticing that dialogues among multiple actors are not supported. Am I doing something wrong?
> 
> Pretty strange, since it’s just needed to have multiple names / npc references in the dialogs that you can switch in the single node!

It depends entirely on how your game presents the speaker.

So if we’re talking about a game like Pillars of Eternity, the way to have a different speaker is to simply put a dialogue event on a node when someone else is speaking. The event would have to do the following:

- Change the name of the speaker in the widget
- Change the portrait (if one is available)
- Move the camera over to the NPC in question

As you can see, all of that is strongly game-dependent, so it’s not “part of the plugin” per se, but the dialogue events system (see second video tutorial) easily supports this. You can do this with this plugin rather easily. Once you’ve created this “dialogue event”, you can reuse it to switch between characters at will.

---

<div class="post-metadata">

**Author:** ![Elsia](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Elsia](https://forums.unrealengine.com/u/Elsia)\
**Post date:** [March 30, 2019, 9:36am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/411 "2019-03-30T09:36:29Z")

</div>

Hi everyone, do you know a way to can select an response just one time ? Thanks 🙂

---

<div class="post-metadata">

**Author:** ![neverfollow81](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@neverfollow81](https://forums.unrealengine.com/u/neverfollow81)\
**Post date:** [April 3, 2019, 5:34pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/412 "2019-04-03T17:34:10Z")

</div>

I just wanted to say thank you so much for this plugin. Very useful and easy to use. For anyone interested I did a twitch stream on this - working on adding conditions and events -

[https://youtube](https://youtube)./watch?v=PnKZVFD5TiU

Hopefully it might be useful to some people.

---

<div class="post-metadata">

**Author:** ![CodeSpartan](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/codespartan/32/1194561_2.png) [@CodeSpartan](https://forums.unrealengine.com/u/CodeSpartan)\
**Post date:** [April 5, 2019, 12:40am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/413 "2019-04-05T00:40:09Z")

</div>

Submitted an update, it should be processed soon (usually takes a couple of days).  
When it goes live, new in 4.22:

- Fixed a crash related to using delays in conditions/events.
- VarStrings. Please read the documentation to learn more about them. They’re very easy to use. There’s a 2 minute video tutorial, or text explanations.

In short, it’s a system that allows you to type something like **%charname%** in your dialogue, and then to easily substitute it with any runtime information, like your character’s name in this example.

---

<div class="post-metadata">

**Author:** ![CodeSpartan](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/codespartan/32/1194561_2.png) [@CodeSpartan](https://forums.unrealengine.com/u/CodeSpartan)\
**Post date:** [April 5, 2019, 12:48am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/414 "2019-04-05T00:48:37Z")

</div>

> [@Elsia](#):
>
> Hi everyone, do you know a way to can select an response just one time ? Thanks 🙂

It’s been discussed in this thread a couple of times, but it will require some blueprints knowledge. I’ll probably end up recording a tutorial about that.

---

<div class="post-metadata">

**Author:** ![Tarabakti](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Tarabakti](https://forums.unrealengine.com/u/Tarabakti)\
**Post date:** [April 7, 2019, 2:50pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/415 "2019-04-07T14:50:42Z")

</div>

Any ideas to remove temporary dialogue widget? i have problem during level sequence, i see button on screen when levelsequence is in play, at the end of sequence i want to see the rest of dialogue, and I need to remove next button in my dialogue, anyone can help me?

---

<div class="post-metadata">

**Author:** ![DsyD](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DsyD](https://forums.unrealengine.com/u/DsyD)\
**Post date:** [April 9, 2019, 7:24pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/416 "2019-04-09T19:24:24Z")

</div>

Does the new “varname” system require 4.22 or does it also work in 4.20?

---

<div class="post-metadata">

**Author:** ![CodeSpartan](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/codespartan/32/1194561_2.png) [@CodeSpartan](https://forums.unrealengine.com/u/CodeSpartan)\
**Post date:** [April 11, 2019, 1:28am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/417 "2019-04-11T01:28:57Z")

</div>

> [@DsyD](#):
>
> Does the new “varname” system require 4.22 or does it also work in 4.20?

It requires 4.22.

---

<div class="post-metadata">

**Author:** ![davidvacek](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@davidvacek](https://forums.unrealengine.com/u/davidvacek)\
**Post date:** [April 14, 2019, 1:58am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/418 "2019-04-14T01:58:21Z")

</div>

Hi and all dialogue plugin users. I really enjoy the plugin and playing around with it. I know this is on my side, not plugin, but… I want to clarify it is possible, because my blueprint / code knowledge is still bit limited…sorry if my questions are too simplistic.

What would be the best way to implement this functionality, I suppose it should be possible with conditions and node IDs:

- When Question (A) is once visited, next time I would like to show Question (B) and hide Question (A)
- Show Question (C) only if player have specific items in the inventory (this part I have almost done) + player asked Question (A)
- when Question (C) is visible, Question (B) is hidden  
 ![dialogue01.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/3X/3/f/3fab544d0e4b82a7599cd1514e848df6442c2245.jpeg)

I am not precisely sure how to achieve the hiding and showing specific nodes based on their IDs. But should be probably possible with creating struct of visited nodes and based on that hiding and showing specific nodes.

- Do not mind the text in nodes here, but what if I want to show node (E) only after node (D) was visited? (referring to another part / level of dialog hierarchy tree)
- Do I need to add some custom made parameter in c++ to nodes to be able to identify what ever the node anywhere in the hierarchy? Would it be easiest way how to query / access the individual nodes?  
 ![dialogue02.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/3X/a/f/afd03f0a099313cea715c102ca452b975cb6fa7d.jpeg)

Hope it is clear what I would like to do. I plan to try it bit more tomorrow, but I am interested if there is more then one solutions to this and what would be the best way to do it also in mater of reusability for other dialogues / similar situations.

---

<div class="post-metadata">

**Author:** ![DesusaED](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DesusaED](https://forums.unrealengine.com/u/DesusaED)\
**Post date:** [May 7, 2019, 10:13pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/419 "2019-05-07T22:13:05Z")

</div>

Good day, so i have started from the beginning of this forum to try to find some referent to how i can only show the question to the npc one time, so when i get back to ask my second question the question you ask before is not disabled anymore ? any help on this. Thanks

---

<div class="post-metadata">

**Author:** ![DesusaED](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DesusaED](https://forums.unrealengine.com/u/DesusaED)\
**Post date:** [May 8, 2019, 4:08pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/420 "2019-05-08T16:08:47Z")

</div>

> [@](#):
>
> Sure,
> 
> [https://i.gyazo](https://i.gyazo)./32cac46a64faf831dd1b85c6f646fa5b.png
> 
> Then create this function:
> 
> [https://i.gyazo](https://i.gyazo)./f37f9df7c298acf225f28fc81000ae94.png
> 
> And then:
> 
> [https://i.gyazo](https://i.gyazo)./e7255dfcfe99a61ecf90496295f66b4c.png

I did all of this and that works great, but in the question for. Then, Originally posted by \*\*Glabrezu about \*\*save your reply here, so you avoid saving the dialogue ending nodes in your history: at the Close Dialog Branch save player replay history ? can you help on that ?

---

<div class="post-metadata">

**Author:** ![CodeSpartan](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/codespartan/32/1194561_2.png) [@CodeSpartan](https://forums.unrealengine.com/u/CodeSpartan)\
**Post date:** [May 12, 2019, 3:37am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/421 "2019-05-12T03:37:08Z")

</div>

Answered by email. I should make a video tutorial on that subject.

[Previous page](https://forums.unrealengine.com/t/dialogue-plugin/59871.md?page=19)

[Next page](https://forums.unrealengine.com/t/dialogue-plugin/59871.md?page=21)
