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

<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, 12:03pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/62 "2016-06-13T12:03:32Z")

</div>

> [@;546931](#):
>
> Thanks for your time.
> 
> ok. So I cannot put a struct type inside the struct FdialogueEvents .

Sure you can, as long as it’s a C++ struct.

---

<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, 3:36pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/63 "2016-06-13T15:36:30Z")

</div>

c++ struct… I suppose it will be fixed data. There’s no blueprint structure type?

---

<div class="post-metadata">

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

</div>

> [@;](#):
>
> hi Glabrezu I haven’t the plugin yet. I am a 99% future costumer. 🆒 but I wanna skip the c++ part.

Same here. 🙂 I would like to buy your plug-in, but… I will not, if I wont be able to do everything in blueprints.

---

<div class="post-metadata">

**Author:** ![anon29551195](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anon29551195](https://forums.unrealengine.com/u/anon29551195)\
**Post date:** [June 13, 2016, 6:31pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/65 "2016-06-13T18:31:46Z")

</div>

Hi. Are there any plans for native support for FPS/Third person template ?

---

<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 14, 2016, 2:31am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/66 "2016-06-14T02:31:25Z")

</div>

Thank you so much for a quick response! I followed the FAQ tutorial to a T - but got stuck on step 5 - specifically - I cannot find how to implement “On Key Down” or “On Key Up” - in purple. Any chance we could get a quick video tutorial of this? I think it could help a lot of people =D Thank you so much! -

---

<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 14, 2016, 11:49am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/67 "2016-06-14T11:49:44Z")

</div>

> [@Inc;547343](#):
>
> Thank you so much for a quick response! I followed the FAQ tutorial to a T - but got stuck on step 5 - specifically - I cannot find how to implement “On Key Down” or “On Key Up” - in purple. Any chance we could get a quick video tutorial of this? I think it could help a lot of people =D Thank you so much! -

You can override functions like this:

[https://i.gyazo](https://i.gyazo)./0cdf19ef16887bf04e70a6b25125550b.jpg

> [@Dlem;547152](#):
>
> Hi. Are there any plans for native support for FPS/Third person template ?

The plugin works with any UE4 project. If you have a concrete implementation in mind, feel free to ask.

> [@Alara;547081](#):
>
> Same here. 🙂 I would like to buy your plug-in, but… I will not, if I wont be able to do everything in blueprints.

Events/conditions logic is done in blueprints. Only fields are done in C++, which doesn’t require any C++ knowledge: you don’t need to actually write code, you just copy & paste a couple of fields, guided by a video/text tutorial.

---

<div class="post-metadata">

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

</div>

> [@Glabrezu;547546](#):
>
> Events/conditions logic is done in blueprints. Only fields are done in C++, which doesn’t require any C++ knowledge: you don’t need to actually write code, you just copy & paste a couple of fields, guided by a video/text tutorial.

Thak you for your answer!  
But to do that I have to convert my project to C++ one and I dont want to do that, I want it to be blueprint project. Is there any way around that? Or maybe some update in the future? Then I will just wait for it 🙂

---

<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:** [June 14, 2016, 5:35pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/69 "2016-06-14T17:35:37Z")

</div>

> [@Alara;547563](#):
>
> Thak you for your answer!  
> But to do that I have to convert my project to C++ one and I dont want to do that, I want it to be blueprint project. Is there any way around that? Or maybe some update in the future? Then I will just wait for it 🙂

It’s highly recommended to use C++ events/conditions with Dialogue Plugin unless you have a specific reason not to. It’s the only way to easily use all of the native UE4 classes as well as your game’s classes in events/conditions. It doesn’t mean you have to convert all of your blueprint classes to C++ (for example you can use AActor in fields instead of your game blueprint actor classes) so your project will still be a 99% blueprint project.

Theoretically, you could add events/conditions in another C++ project and then copy & paste the compiled Binaries of Dialogue Plugin to your project, but I don’t recommend that. Also, this way you will be able to use only native UE4 classes and not your game’s classes.

---

<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 14, 2016, 9:31pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/70 "2016-06-14T21:31:39Z")

</div>

![inio.JPG](https://d3kjluh73b9h9o.cloudfront.net/original/3X/2/6/2650018b5972c1b974e6df63a64554343900ea00.jpeg)

I swear on the soul of my father, Domingo Montoya, I will never going to use native UE4 classes.

If there are not technical reasson, I dont know why you dont can let me us a blueprint version. At last put a tutorial. 😃

---

<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:** [June 15, 2016, 7:55pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/71 "2016-06-15T19:55:44Z")

</div>

I don’t think you understood my post - events and conditions in Dialogue Plugin are meant to be used just like described in the user guide and video tutorial - first you edit Dialogue.h to add the fields and then you add the logic in blueprints. There’s no way to do it strictly in blueprints (for technical reasons).

---

<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 16, 2016, 4:51am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/72 "2016-06-16T04:51:29Z")

</div>

ops :o Sorry you start the post with “It’s\*\* highly recommended **to use C++ events/conditions with Dialogue Plugin** unless you have a specific reason not to\*\*.” it confuses me.

Yes, checking the docs look easy add the variables in c++, my problems with c++ is more a principle related. After two years of blueprints, having to write code it seems medioval as punched cards.

---

<div class="post-metadata">

**Author:** ![teak421](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/teak421/32/902996_2.png) [@teak421](https://forums.unrealengine.com/u/teak421)\
**Post date:** [June 21, 2016, 8:57pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/73 "2016-06-21T20:57:19Z")

</div>

Please forgive me if this has been asked and answered… Let’s say I would like to modify a reputation variable based on several choices during the dialog process. Would that be an event / condition? Already purchased and I’ve not had a single look into it, so apologies for not reading all of the docs yet. Just need a yes or no.

Also, another person put out dialog plugin that also uses different cameras, is that possible? Thanks for all your work!

teak

---

<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 22, 2016, 4:52pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/74 "2016-06-22T16:52:30Z")

</div>

> [@teak421;552248](#):
>
> Let’s say I would like to modify a reputation variable based on several choices during the dialog process. Would that be an event / condition?

Sure, it’s an event.

> [@teak421;552248](#):
>
> Also, another person put out dialog plugin that also uses different cameras, is that possible?

Sure, you can tweak the UMG widget to center the camera on the person who’s currently speaking.

If you need help with that, don’t hesitate to ask.

---

<div class="post-metadata">

**Author:** ![teak421](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/teak421/32/902996_2.png) [@teak421](https://forums.unrealengine.com/u/teak421)\
**Post date:** [June 22, 2016, 4:53pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/75 "2016-06-22T16:53:47Z")

</div>

> [@Glabrezu;552771](#):
>
> Sure, it’s an event.
> 
> Sure, you can tweak the UMG widget to center the camera on the person who’s currently speaking.
> 
> If you need help with that, don’t hesitate to ask.

Perfect, thanks… Apologies for the noob question, I should have researched first…! But, I will admit, knowing up front that it does do this makes me at least feel better. \<smiles\>

teak

---

<div class="post-metadata">

**Author:** ![MarGon](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/margon/32/551044_2.png) [@MarGon](https://forums.unrealengine.com/u/MarGon)\
**Post date:** [July 4, 2016, 11:29pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/76 "2016-07-04T23:29:26Z")

</div>

hi,  
very usefull plugin. works fine for me, but is there anywhere a overview how the variable types are called in c++? i especialy search for actor class refference.  
thanks

---

<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:** [July 6, 2016, 2:16pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/78 "2016-07-06T14:16:34Z")

</div>

> [@](#):
>
> hi,  
> very usefull plugin. works fine for me, but is there anywhere a overview how the variable types are called in c++? i especialy search for actor class refference.  
> thanks

Depends on what you want to do with that.

If you want to spawn an Actor of a certain class, you can use the following:  
[FONT=Courier New]TSubclassOf\<AActor\> ActorToSpawn;

Or if you want to kill a certain character, you could use the tag system.

---

<div class="post-metadata">

**Author:** ![sgorazd](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@sgorazd](https://forums.unrealengine.com/u/sgorazd)\
**Post date:** [July 6, 2016, 6:51pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/79 "2016-07-06T18:51:34Z")

</div>

Hi,  
Is there a way to grey out dialog line that do not fulfill conditions instead of not showing it?

---

<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:** [July 7, 2016, 4:15pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/80 "2016-07-07T16:15:42Z")

</div>

> [@](#):
>
> Hi,  
> Is there a way to grey out dialog line that do not fulfill conditions instead of not showing it?

Sure, it can be done by modifying the UMG widget. If you need help with that, don’t hesitate to ask.

---

<div class="post-metadata">

**Author:** ![sbnewsom](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@sbnewsom](https://forums.unrealengine.com/u/sbnewsom)\
**Post date:** [July 28, 2016, 9:34pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/81 "2016-07-28T21:34:17Z")

</div>

Hey there. I’m really interested in your plugin mainly because another plugin hasn’t been updated since 4.11 and I REALLY want to take advantage of 4.12. Found this baby and saw how…evolved it is compared to the other one. I have a couple of questions though.

- How acceptable is this plugin for a primarily blueprint project? I’d rather stick to blueprints, to save time and money for the project.

- I see that when you put a player choice node, it allows you to click on it, but goes right into the reply from the NPC. Can you make it so the player’s dialogue is spoken when clicked on the choice? My character is fully realized and I don’t want him to be a mute.

- Is there any hope for Articy:draft integration in the future?

- Is there a plan to export import dialogue text into CSV/XML and/or offer Localization features?

- Last, I made my own node that handles my own bank of Global Variables. Both Get and Set. Is it possible to change how conditions are handled, therefore utilizing my own bank to handle condition checks?

Thanks for your time! Much appreciated. I look forward to diving into this excellent plugin.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_595f74f21](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_595f74f21](https://forums.unrealengine.com/u/anonymous_user_595f74f21)\
**Post date:** [July 28, 2016, 10:59pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/82 "2016-07-28T22:59:52Z")

</div>

Wait a minute I’m doing a dialog game, does this mean Unreal can handle environment variables for flags? Have a look at this script because I use truckloads of environment Variables flags in my own Dialog but this is not written for the Unreal Engine but written as a windows console script. to allow me to test all the dialog branches and storyline events out in my game.

But my game has got over 20,000 lines of interweaving text dialog, In order for it to work, I had to first define a huge amount of environment variable tags (flags) first. (over two thousand flags to keep track of everything, this includes keeping track of entities, loot drops and so on) I don’t think Blueprints alone can handle tens of thousands of lines of dialog and thousands of tags. You would need a tag string text file database.

if %vypercaptain% EQU 1 goto vypertour1  
if %snohatch% EQU 1 echo. Jones: Commander, we have a problem down here in the brig with the Snowhatch.  
if %snohatch% EQU 1 echo.  
if %snohatch% EQU 1 echo. Commander: What is the trouble?  
if %snohatch% EQU 1 echo.  
if %snohatch% EQU 1 echo. Jones: Well sir, its changed color.  
if %snohatch% EQU 1 echo.  
if %snohatch% EQU 1 echo. Commander: Oh? I better come take a look and see for myself.  
if %snohatch% EQU 1 if %loana% EQU 1 echo. Loana: Sounds like trouble.  
if %snohatch% EQU 1 echo.  
if %snohatch% EQU 1 echo.  
if %snohatch% EQU 1 echo. A) Visit the brig  
if %snohatch% EQU 1 echo.  
if %snohatch% EQU 1 set /p x1=  
rem if %snohatch% EQU 1 if %x1%==a goto REM NOT YET  
echo.  
if %tesscredits% GTR 600000 echo. You have enough credits to buy the Mark III Scanner.  
echo.  
if %goofaceslip% EQU 1 goto medgoo

rem = If Party has all 10 plants, jump to Medical Bay to Doctor Thompson Poison Plant Storyline Script  
if %poisonbatch% EQU 1 goto docpoisonplant  
if %rosednasample% EQU 1 goto docrose  
if %stinkyvinus% EQU 1 goto vinus2  
if %kartifact% EQU 1 goto kreomvin  
if %debriscourse% EQU 1 goto debrisjh  
if %stormtell% EQU 1 goto exitthestation  
if %stormtell% EQU 0 echo.  
if %nc7shipreport% EQU 1 goto bridgereporteng  
cls  
echo.  
if %droidmemup% EQU 1 goto compucore  
if %hospvendes% EQU 1 echo. Skinar: Whew that was close Commander, they nearly succeeded in jaming the signal  
if %hospvendes% EQU 1 echo. A second longer and I would not have been able to transport you outta there in time.  
if %hospvendes% EQU 1 echo.  
if %hospvendes% EQU 1 echo. Commander: Worry about that later right now, work on clearing the docking codes so we can  
if %hospvendes% EQU 1 echo. launch the ship and get the hell outta here. I’m going to the Infirmary to  
if %hospvendes% EQU 1 echo. give her the medical supplies.  
if %hospvendes% EQU 1 pause && goto medoc  
if %hurtleonix% EQU 1 echo. Skinar: Go see the doctor  
if %hurtleonix% EQU 1 echo. she has the Leonix under observation.  
if %hurtleonix% EQU 1 echo.  
if %secureguard% EQU 1 echo. There’s a security guard standing nearby watching you. . .  
if %malpractice% EQU 1 if %secureguard% EQU 1 echo. Storm: Why did you have to mess with the hospital for, this security guy gives me the creeps.  
if %malpractice% EQU 1 if %secureguard% EQU 1 sound play Storm1142.wav  
if %medy% EQU 1 echo. You have a new message.  
if %loana% EQU 1 if %vinusdone% EQU 1 echo. Jones: You have some messages, Commander.

rem – If Loana Party Member is dead —  
if %loanadead% EQU echo. Jones: Commander, Central wants to speak to you you in the Vidcom Room. && bg sleep 4000 && echo. Comander: I’ll get right on it && bg sleep 4000 && goto vidcom

rem – If Vinus is destroyed ----  
if %vplanetwarn% EQU 1 echo. Jones; Commander, Central wants to talk to you right now on Vidcom, it’s urgent. && bg sleep 3000 && goto vidcom2  
echo.

Rem – If Kreom Artifact has been found ----  
if %kreomfind% EQU 1 echo. Storm: I know where the Telos System is. Let me see the Galaxymap. && sound play Storm121.wav && bg sleep 5000  
if %kreomfind% EQU 1 echo.  
set /a rprogress=%rprogress%+2  
if %rprogress% GTR 10 set rprogress=10  
echo. Research Progress: %rprogress% of 10  
echo.

Rem – If you found The Slipstream device and Rex is in the Party.

if %spacefold% EQU 1 if %rex% EQU 1 echo. Titan Suns Rex: So what do you guys what to show me that’s so important?  
if %spacefold% EQU 1 if %rex% EQU 1 echo.

I have 10 party members in my game but this script shows all the different events happening at different stages of the game with different party members or events happening in one location, the main bridge which get triggered off at different times depending on the players progress in the game. So the dialog at the moment won’t make much sense because its triggering off from other dozens of events elsewhere  
in the script.

I don’t know how to write my script into Unreal Blueprint Format or C++

And I also use random counters as well in some of the dialog so NPC’s can choose to respond back differently.

set /a spin=%random% %%4+1  
if %spin% EQU 1 echo. Ensign Peters; Commander, Admiral Odys is back again, he says he has  
if %spin% EQU 1 echo. found your mission briefing.  
if %spin% EQU 2 echo. Ensign Peters: Commander, you can’t just leave the Admiral sitting there.  
if %spin% EQU 3 echo. Ensign Peters: You are required to talk with him now.  
if %spin% EQU 4 echo. Ensign Peters: I will leave it in your hands.

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

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