# 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:** 3

<div class="post-metadata">

**Author:** ![Arixsus](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Arixsus](https://forums.unrealengine.com/u/Arixsus)\
**Post date:** [June 7, 2016, 9:15pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/41 "2016-06-07T21:15:08Z")

</div>

Looks like the marketplace version has been updated and you can now download the 4.12 version via marketplace.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_eb089738](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_eb089738](https://forums.unrealengine.com/u/anonymous_user_eb089738)\
**Post date:** [June 8, 2016, 8:19am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/42 "2016-06-08T08:19:35Z")

</div>

> [@Deathstick;543335](#):
>
> But that’s just my solution, the plugin itself is setup great and works wonderfully! It’s a joy being able to write and see everything laid out, while easily altering how the nodes path to each other or expand. Thanks for the release 😃

Thanks, we’re glad that you found the Dialogue Plugin useful. Be sure to post screenies of your game when you’re ready 🙂

> [@Koraemon;543872](#):
>
> is there a way to bind the keys to dpad on a controller like in fallout4?

Yes. You’ll have to customize the UMG widget for that.

---

<div class="post-metadata">

**Author:** ![Jazz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Jazz](https://forums.unrealengine.com/u/Jazz)\
**Post date:** [June 9, 2016, 4:08pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/43 "2016-06-09T16:08:21Z")

</div>

This plugin has been great so far but I’ve hit a wall trying to figure out how to combine multiple text replacement macros. What I’m trying to do is setup a "replace “%pctitle% and “%pcsurname”” within the same dialogue. I thought I could achieve it through the use of an append function (as shown below) but the dialogue will only replace whichever one is plugged into “A” on the append node and leave the others as “%variablename%”. Is there a certain way of going about achieving this? Thank you.

![cccdb067bcef0fa61855db59b1f633004c0c3a8d.jpeg](https://d1ap1mz92jnks1.cloudfront.net/images/transparent.png)

---

<div class="post-metadata">

**Author:** ![Arixsus](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Arixsus](https://forums.unrealengine.com/u/Arixsus)\
**Post date:** [June 9, 2016, 7:10pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/44 "2016-06-09T19:10:01Z")

</div>

> [@;544947](#):
>
> This plugin has been great so far but I’ve hit a wall trying to figure out how to combine multiple text replacement macros. What I’m trying to do is setup a "replace “%pctitle% and “%pcsurname”” within the same dialogue. I thought I could achieve it through the use of an append function (as shown below) but the dialogue will only replace whichever one is plugged into “A” on the append node and leave the others as “%variablename%”. Is there a certain way of going about achieving this? Thank you.
> 
> ![cccdb067bcef0fa61855db59b1f633004c0c3a8d.jpeg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/c/c/c/cccdb067bcef0fa61855db59b1f633004c0c3a8d.jpeg)

From what I see, it looks like you just need to filter the string twice by doing a replace, set your options, then use that replace return value as the source for the next replace. I’m not in front of UE4, so I can’t be for certain but that should work for what you are trying to do.

---

<div class="post-metadata">

**Author:** ![Jazz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Jazz](https://forums.unrealengine.com/u/Jazz)\
**Post date:** [June 9, 2016, 7:35pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/45 "2016-06-09T19:35:22Z")

</div>

> [@Arixsus;545084](#):
>
> From what I see, it looks like you just need to filter the string twice by doing a replace, set your options, then use that replace return value as the source for the next replace. I’m not in front of UE4, so I can’t be for certain but that should work for what you are trying to do.

That worked perfectly thank you! Of all the things I tried it never occurred to me to do that.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_70c8d330](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_70c8d330](https://forums.unrealengine.com/u/anonymous_user_70c8d330)\
**Post date:** [June 10, 2016, 12:03pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/46 "2016-06-10T12:03:16Z")

</div>

I put sound into a PC node but only the sound of the NPC is played. How can I change that?

And I creaed the MyDialogueWidget to Customiz the widget. But when ever I compile it unreal crashes without crash report. I did everything exacly as in the documentation. I am currently useing ue 4.12.1

 ![trrrrtt.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/e/4/2/e42b02bafff5754c472fc2e809c1de26e95842fc.png)

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_eb089738](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_eb089738](https://forums.unrealengine.com/u/anonymous_user_eb089738)\
**Post date:** [June 10, 2016, 2:32pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/47 "2016-06-10T14:32:28Z")

</div>

> [@;545483](#):
>
> I put sound into a PC node but only the sound of the NPC is played. How can I change that?

The demo dialogue widget is based on how it’s handled in Skyrim. If you want to make it like in Mass Effect, you have to make the following modifications:

[https://dl.dropboxusercontent](https://dl.dropboxusercontent)./u/62420848/player%20voiceover.png

You can see that it does the following:

- sets the text at the bottom from the PC node that you clicked
- plays the sound
- waits for the sound duration + 0.5 seconds
- then after that delay, it goes to the NPC reply

Note that in this scheme, if there is no sound, the player line will remain on screen for 0.5 seconds, so if some of your player lines aren’t voiced, you should make necessary adjustments.

> [@;545483](#):
>
> But when ever I compile it unreal crashes without crash report. I did everything exacly as in the documentation. I am currently useing ue 4.12.1

Unreal 4.12.1 had a major bug that crashed the editor on blueprint compilation for a lot of people. Could you try that again in 4.12.2? This bug is fixed in that build.

---

<div class="post-metadata">

**Author:** ![AlexfromAhoy](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@AlexfromAhoy](https://forums.unrealengine.com/u/AlexfromAhoy)\
**Post date:** [June 11, 2016, 2:46am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/48 "2016-06-11T02:46:11Z")

</div>

Just got this ! - Seems to work great - is there gamepad support?

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_eb089738](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_eb089738](https://forums.unrealengine.com/u/anonymous_user_eb089738)\
**Post date:** [June 11, 2016, 10:01am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/49 "2016-06-11T10:01:12Z")

</div>

> [@Inc;545926](#):
>
> Just got this ! - Seems to work great - is there gamepad support?

Sure, you can customize the UMG widget to support gamepad controls, whether it is to navigate the answer list with the d-pad or to bind each answer to one of the right side buttons. If it’s the former, you can check out the top rated answer [here](https://answers.unrealengine./questions/147619/umg-gamepadkeyboard-navigation-in-umg-menus.html). Feel free to ask if more questions arise.

---

<div class="post-metadata">

**Author:** ![TBWright](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@TBWright](https://forums.unrealengine.com/u/TBWright)\
**Post date:** [June 11, 2016, 2:20pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/50 "2016-06-11T14:20:01Z")

</div>

This looks pretty awesome. Quick question:

Have you planned on functionality (or is there currently functionality) to proceed from one NPC line to the next based on an arbitrary timer? Or could this be implemented through UMG?

---

<div class="post-metadata">

**Author:** ![DomusLudus](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/domusludus/32/1215140_2.png) [@DomusLudus](https://forums.unrealengine.com/u/DomusLudus)\
**Post date:** [June 12, 2016, 9:48am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/51 "2016-06-12T09:48:45Z")

</div>

I did check the docs and the videos, look very professional but i have a concerns.

The event logic it is in the widget, and the widget is generic for all npc, if I have a 10 npc with 10 doors. Need i do a chech for the 10 doors?  
Or if every npc check different player’s skill? Is the widget holding all logic from all checks?

The other way be will duplicated the widget for each npc???

Really i like you plugin but… Do you think that the logic of events need to be in another blueprint.?  
In the create widget a entry pin for example.  
Or I missing something.

And anothe question. Have the pre building plugin a set of basic event, animated montage and array of ftext is enought for me,( because the text can fire any code skipping the need of use c++).

---

<div class="post-metadata">

**Author:** ![Jazz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Jazz](https://forums.unrealengine.com/u/Jazz)\
**Post date:** [June 12, 2016, 12:18pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/52 "2016-06-12T12:18:32Z")

</div>

Me again! I’ve moved onto conditions now, I’ve watched the tutorial and it seems fairly straightforward but I’m having problems setting a Text based condition.

I have a variable within my PC called “Gender”, I’ve added the C++ code for an FText condition called “Gender”. It shows up in the dialogue editor as a condition and I’ve added the BP logic for it to compare the Gender text. The problem I’m having is that dialogue will only show the first tree regardless of the condition. Have I missed something from the C++?

![e96703b50c0c2217851872781763fc03d8c9bb56.jpeg](https://d1ap1mz92jnks1.cloudfront.net/images/transparent.png)  
 ![7384a8cb2cd3d2caf061d70735c0fc29108ff31c.jpeg](https://d1ap1mz92jnks1.cloudfront.net/images/transparent.png)  
 ![c51300dfa55acbbcaefa9c1f6f4714927ac90a5a.jpeg](https://d1ap1mz92jnks1.cloudfront.net/images/transparent.png)

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_eb089738](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_eb089738](https://forums.unrealengine.com/u/anonymous_user_eb089738)\
**Post date:** [June 12, 2016, 4:31pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/53 "2016-06-12T16:31:41Z")

</div>

> [@Inc;545926](#):
>
> Just got this ! - Seems to work great - is there gamepad support?

I saw your question on the marketplace, where you specifically asked if it was possible to introduce gamepad support that works like in Fallout 4.

We’ve added a “FAQ” section to the documentation where you can now find a mini-guide on how to achieve that.

> [@546121](#):
>
> THave you planned on functionality (or is there currently functionality) to proceed from one NPC line to the next based on an arbitrary timer? Or could this be implemented through UMG?

Sure, it’s possible to do that from the UMG. Currently it creates a “Continue” reply, but you can add a delay instead (or in addition to it).

> [@;546395](#):
>
> The event logic it is in the widget, and the widget is generic for all npc, if I have a 10 npc with 10 doors. Need i do a chech for the 10 doors?

Can you provide a specific example of dialogues and conditions that you have trouble with implementing?  
It’s supposed to work like this: let’s say you have a “money” condition. One dialogue requires the player to have 10 gold and another dialogue has replies that require 20 gold and 30 gold respectively. The logic to check this is the same and is located in the dialogue widget, but allows to have different checks in different dialogues.

> [@;546437](#):
>
> Me again! I’ve moved onto conditions now, I’ve watched the tutorial and it seems fairly straightforward but I’m having problems setting a Text based condition.

Thanks for reporting this! We reproduced the issue and it’s a bug in the UMG widget. Conditions only worked if they were preceded by a PC line. We’ve fixed it and it’ll be included in the next version.

In the meantime, here’s how you can fix it so you don’t have to wait:

1. 

[https://i.gyazo](https://i.gyazo)./a6579adca7522d137fdecac964e8bbef.png

1. Create a variable CurrentNode of type Dialogue Node and set it here:

[https://i.gyazo](https://i.gyazo)./8d5fca11efae1f9d5aae7929e503e48a.png

1. 

[https://i.gyazo](https://i.gyazo)./13e4c22d9bcea64f2a717e8a416a820b.png

---

<div class="post-metadata">

**Author:** ![Jazz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Jazz](https://forums.unrealengine.com/u/Jazz)\
**Post date:** [June 12, 2016, 5:25pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/54 "2016-06-12T17:25:07Z")

</div>

> [@Glabrezu;546544](#):
>
> Thanks for reporting this! We reproduced the issue and it’s a bug in the UMG widget. Conditions only worked if they were preceded by a PC line. We’ve fixed it and it’ll be included in the next version.

That worked perfectly thank you! Glad I tested that out today.

---

<div class="post-metadata">

**Author:** ![Jazz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Jazz](https://forums.unrealengine.com/u/Jazz)\
**Post date:** [June 12, 2016, 5:53pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/55 "2016-06-12T17:53:53Z")

</div>

I’ve now run into a new problem. I would like to set two conditions for dialogue to appear. One for “Gender” and one for “Race”. I’ve set these up in the C++ and they show up in the dialogue editor. However if I have 2 NPC responses, one with the conditions “Female” “Human” and the other with “Female” “Alien”, the human female dialogue is shown and not the female alien one.

It looks like the dialogue is only taking the first condition (Gender) into account and ignoring the second condition (Race).

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_eb089738](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_eb089738](https://forums.unrealengine.com/u/anonymous_user_eb089738)\
**Post date:** [June 12, 2016, 9:50pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/56 "2016-06-12T21:50:49Z")

</div>

> [@;546565](#):
>
> I’ve now run into a new problem. I would like to set two conditions for dialogue to appear. One for “Gender” and one for “Race”. I’ve set these up in the C++ and they show up in the dialogue editor. However if I have 2 NPC responses, one with the conditions “Female” “Human” and the other with “Female” “Alien”, the human female dialogue is shown and not the female alien one.
> 
> It looks like the dialogue is only taking the first condition (Gender) into account and ignoring the second condition (Race).

Could you show me your CheckConditions logic please?

---

<div class="post-metadata">

**Author:** ![Jazz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Jazz](https://forums.unrealengine.com/u/Jazz)\
**Post date:** [June 13, 2016, 9:56am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/57 "2016-06-13T09:56:05Z")

</div>

> [@Glabrezu;546639](#):
>
> Could you show me your CheckConditions logic please?

I managed to solve the issue this morning, all I needed to do was combine the two bools with an “And” node.

 ![fixed.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/3X/0/d/0dfd51a815986ffd465e4f35a02a79e2b6e9fa3e.jpeg)

---

<div class="post-metadata">

**Author:** ![DomusLudus](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/domusludus/32/1215140_2.png) [@DomusLudus](https://forums.unrealengine.com/u/DomusLudus)\
**Post date:** [June 13, 2016, 9:57am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/58 "2016-06-13T09:57:52Z")

</div>

hi Glabrezu I haven’t the plugin yet. I am a 99% future costumer. 🆒 but I wanna skip the c++ part.

I wonder, if the compiled plugin had a structure in events and conditions, user can add new variables without use c++. Check the screenshoot. is it posibble?

 ![struct.PNG](https://d3kjluh73b9h9o.cloudfront.net/original/4X/8/4/8/848503fb1951331b3106ff38dcce0c3c5dcc0af1.png)

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_eb089738](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_eb089738](https://forums.unrealengine.com/u/anonymous_user_eb089738)\
**Post date:** [June 13, 2016, 10:51am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/59 "2016-06-13T10:51:27Z")

</div>

> [@;](#):
>
> but I wanna skip the c++ part. is it posibble?

It’s not possible to add conditions/events without C++, however knowledge of C++ isn’t required as it’s simply a matter of copying a few lines and there’s a step-by-step tutorial both on video and in text. Text tutorial contains examples of various types that you could need.

---

<div class="post-metadata">

**Author:** ![DomusLudus](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/domusludus/32/1215140_2.png) [@DomusLudus](https://forums.unrealengine.com/u/DomusLudus)\
**Post date:** [June 13, 2016, 12:00pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/61 "2016-06-13T12:00:13Z")

</div>

Thanks for your time.

ok. So I cannot put a struct type inside the struct FdialogueEvents .

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

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