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

<div class="post-metadata">

**Author:** ![Dihydrogenmonoxide43](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Dihydrogenmonoxide43](https://forums.unrealengine.com/u/Dihydrogenmonoxide43)\
**Post date:** [August 16, 2024, 3:18am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/843 "2024-08-16T03:18:19Z")

</div>

Thanks, I did try that. I should be more specific. When the mouse is not pressed down, it works fine, but when I press it down, the mouse can move a little, but is pulled back constantly towards where I first clicked, as if there is a tick function or something overriding its location.

---

<div class="post-metadata">

**Author:** ![Dihydrogenmonoxide43](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Dihydrogenmonoxide43](https://forums.unrealengine.com/u/Dihydrogenmonoxide43)\
**Post date:** [August 27, 2024, 2:25am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/844 "2024-08-27T02:25:01Z")

</div>

Hey, sorry about that. Turns out that this is somehow caused by using the function “Set Input Mode Game and UI” and has nothing to do with this plugin.

---

<div class="post-metadata">

**Author:** ![Doctor\_Kannon](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/doctor_kannon/32/1130101_2.png) [@Doctor\_Kannon](https://forums.unrealengine.com/u/Doctor_Kannon)\
**Post date:** [August 28, 2024, 6:28pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/845 "2024-08-28T18:28:23Z")

</div>

Hello!

Has anyone integrated this Dialogue Plugin with a quest system?

Any suggestions?

---

<div class="post-metadata">

**Author:** ![laggyluk](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@laggyluk](https://forums.unrealengine.com/u/laggyluk)\
**Post date:** [August 30, 2024, 8:11am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/846 "2024-08-30T08:11:33Z")

</div>

you can grant quests through events with parameters, what I suggest is keeping quest definitions in data table and use row id when granting it. Gameplay tags are pretty useful for tracking quest progress.

---

<div class="post-metadata">

**Author:** ![leftturnworkshop](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@leftturnworkshop](https://forums.unrealengine.com/u/leftturnworkshop)\
**Post date:** [September 14, 2024, 1:06pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/847 "2024-09-14T13:06:17Z")

</div>

The plugin doesn’t seem to be working with the gamepad if you use CommonUI (ie., when the viewport client class is set to CommonGameViewportClass). I sort of assume that inputs are being routed in a way that the dialogue widget doesn’t recognize and was hoping somebody could suggest a fix. (Or perhaps CommonUI versions of the widgets are floating around somewhere…?) I imagine that I am missing something that would be blindingly obvious to an actually competent UI programmer! Sorry to bug you: I absolutely love Dialogue Plugin but CommonUI cures so many headaches…

---

<div class="post-metadata">

**Author:** ![Hardwire666](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Hardwire666](https://forums.unrealengine.com/u/Hardwire666)\
**Post date:** [September 28, 2024, 12:32am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/848 "2024-09-28T00:32:15Z")

</div>

In Unreal Engine 5.4.4 I noticed this was happening.

 ![Screenshot 2024-09-27 200959](https://d3kjluh73b9h9o.cloudfront.net/original/4X/0/2/6/026b7be8f3936a25279fca6828376385e945869c.jpeg)

So I tired switching the widget over to the show/hide method of displaying widgets. Create it once, then only change the visibility. As opposed to creating the widget every time. That ended up just created more headaches.

After some more searching I finally happened across a post that mentioned a “garbage collection” node.

So after switching everything back to using the “create widget” method. I added one as follows and everything is working.

 ![Screenshot 2024-09-27 201125](https://d3kjluh73b9h9o.cloudfront.net/original/4X/c/3/6/c364fbdc8e8c385269a48729b3c411802b5768c1.jpeg)

I still usually see at least one (no slate widget), but I’m okay with that. As opposed to the pile up that was happening. My entire project is dialogue so I figure this would have been a disaster eventually. Can’t be sure as I couldn’t find any details on “(No Slate Widget)”, and didn’t want to assume. I may not be any good but I do try to practice good garbage collection when I know I need to.

Also I don’t know if this is because of something I accidentally did somewhere or not. But from what I could tell my modifications to the blueprints only change cosmetic things when compared to the “DemoDialogueWidget”.

Hope this helps people from the future.

---

<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:** [September 28, 2024, 1:59am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/849 "2024-09-28T01:59:37Z")

</div>

> [@Hardwire666](#):
>
> My entire project is dialogue so I figure this would have been a disaster eventually.

It’s generally not advised to manually call the GC, it can cause hiccups. PIE was likely leaving those objects in memory for a longer time than a Release build would’ve. If the explicit call to GC cleans up the resources, then it’s proof that there’s no references to those widgets that prevent them from leaving memory, i.e. there’s no memory leak. I’d recommend letting GC do its job on its own terms.  
But if you want to clean-up in PIE, e.g. for easier debugging, that’s another matter. You can check if you’re in PIE and force GC to clean up.

---

<div class="post-metadata">

**Author:** ![Hardwire666](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Hardwire666](https://forums.unrealengine.com/u/Hardwire666)\
**Post date:** [September 28, 2024, 4:08pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/850 "2024-09-28T16:08:50Z")

</div>

Okay thanks for the clarification! That makes a lot of sense, and gives me some peace of mind. It initially didn’t make sense to me because as far as I knew UE was better than that with GC. I just figured something may have changed as things often do. I’ll kick the GC to the curb and monitor things when I do release builds. Thanks again!

---

<div class="post-metadata">

**Author:** ![Hardwire666](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Hardwire666](https://forums.unrealengine.com/u/Hardwire666)\
**Post date:** [October 1, 2024, 6:04pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/851 "2024-10-01T18:04:51Z")

</div>

Small question. Any chance of getting the ability to group text nodes? Like how you can collapse/expand nodes in BP. Would help a lot to clean up large dialogues. Things can get pretty unruly pretty quick. Especially with long back and forth conversional type stuff that reads more like a script.

I know I could break things up into multiple dialogue files, which I might do in the future. This was just a thought I had while editing a long back and forth.

---

<div class="post-metadata">

**Author:** ![tamerbek](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/tamerbek/32/743645_2.png) [@tamerbek](https://forums.unrealengine.com/u/tamerbek)\
**Post date:** [October 4, 2024, 5:47pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/852 "2024-10-04T17:47:18Z")

</div>

Could you please tell me how I can end/delete a dialogue that has been started? I don’t want to deal with C++ right now, so I decided to find a workaround. The idea is that I want the NPC to just say one phrase after another, and then the dialogue ends (basically, like getting a quest over the radio). For now, I just set up an event on the last phrase that hides the widget. But how do I destroy the dialogue itself?

---

<div class="post-metadata">

**Author:** ![infinite.galaxie](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@infinite.galaxie](https://forums.unrealengine.com/u/infinite.galaxie)\
**Post date:** [October 7, 2024, 3:44am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/854 "2024-10-07T03:44:31Z")

</div>

Hey, loving the system, but it seems that dialogues are overwriting each other for some reason. I can make multiple dialogues and when opening one of the previous ones, it has some of the later ones dialogue, and it overwrote what was previously written there. Any way to avoid this? Thanks!

---

<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:** [October 7, 2024, 12:06pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/855 "2024-10-07T12:06:28Z")

</div>

> [@Hardwire666](#):
>
> Any chance of getting the ability to group text nodes? Like how you can collapse/expand nodes in BP. Would help a lot to clean up large dialogues. Things can get pretty unruly pretty quick. Especially with long back and forth conversional type stuff that reads more like a script.
> 
> I know I could break things up into multiple dialogue files, which I might do in the future. This was just a thought I had while editing a long back and forth.

Not sure what you mean by collapsing and expanding. Could you show a schematic drawing? Otherwise, breaking them into multiple dialogue files is the way to go.

> [@infinite.galaxie](#):
>
> but it seems that dialogues are overwriting each other for some reason.

Looks like you’re adding multiple dialogue widgets on top of each other. In other words, it’s a bug in your code. Add some checks to make sure you don’t do it.

> [@tamerbek](#):
>
> Could you please tell me how I can end/delete a dialogue that has been started?

When you add a dialogue to the viewport, save it as a reference in any blueprint, like character.  
Then create a dialogue event that gets your player character and calls “remove from parent” on the dialogue reference. It’ll destroy the widget.

---

<div class="post-metadata">

**Author:** ![infinite.galaxie](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@infinite.galaxie](https://forums.unrealengine.com/u/infinite.galaxie)\
**Post date:** [October 7, 2024, 4:49pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/856 "2024-10-07T16:49:31Z")

</div>

It’s not the widgets, it’s the actual “DialoguePlugin.Dialogue” classes themselves (where all of the the dialogue is written and where you write the NPC/PC dialogue and add the events and conditions etc. You know? Where you make a dialogue tree.) The lines I’ve written there are being overwritten with lines I write in another dialogue class, so I completely lose the dialogue I wrote previously.

If I open two dialogue trees, created using this plugins dialogue class, in the editor, sometimes one of the them will take the dialogue from the other dialogue that I’ve opened, and it overwrites its own dialogue with the other dialogues lines. I hope I’m making sense.

---

<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:** [October 8, 2024, 11:06am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/857 "2024-10-08T11:06:21Z")

</div>

> [@infinite.galaxie](#):
>
> The lines I’ve written there are being overwritten with lines I write in another dialogue class, so I completely lose the dialogue I wrote previously.

I see. Please provide repro steps + what version you’re using.  
When you say it happens “sometimes”, could you be more specific? Once per minute/hour/week/month? Could you find a series of actions that reproduce the issue most of the time?

---

<div class="post-metadata">

**Author:** ![infinite.galaxie](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@infinite.galaxie](https://forums.unrealengine.com/u/infinite.galaxie)\
**Post date:** [October 8, 2024, 5:12pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/858 "2024-10-08T17:12:00Z")

</div>

I’m using version 4.26, with the latest version of the plugin available for that engine version. I haven’t been able to pinpoint exactly what it is that causes the issue, but it seems more likely to occur when I duplicate a dialogue class. When I change the dialogue in the duplicated class, the changes (sometimes) apply to the original as well. So far, I haven’t encountered this issue when creating a new dialogue class for each dialogue, so I’ll stick to doing that for now. I’ve been using the plugin for just over two weeks and have experienced this problem around 10 times or so. I apologise, I can’t get more specific than that as I randomly work on the dialogue whilst doing other work.

---

<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:** [October 12, 2024, 5:00pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/859 "2024-10-12T17:00:37Z")

</div>

Thanks for the info, I tried reproducing it in 5.4, but couldn’t make it happen. Maybe it’s even an engine bug, who knows. I haven’t changed any major logic in years.

---

<div class="post-metadata">

**Author:** ![Hardwire666](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Hardwire666](https://forums.unrealengine.com/u/Hardwire666)\
**Post date:** [January 19, 2025, 4:44pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/861 "2025-01-19T16:44:05Z")

</div>

> Not sure what you mean by collapsing and expanding. Could you show a schematic drawing? Otherwise, breaking them into multiple dialogue files is the way to go.

Sorry I never got back to you. It’s been a crazy few months. I don’t have a diagram, however I do have some screenshots to show what I was referring to. Which was to use the same functionality that is already present in blueprints, or something like it. Where you can “select multiple nodes \> right click \> collapse nodes” and it groups those nodes into a single node that can receive input and output.

 ![Screenshot 2025-01-19 104634](https://d3kjluh73b9h9o.cloudfront.net/original/4X/4/b/8/4b8ac84676c447dd5385252dfa1a92cb2517191b.jpeg)  
 ![Screenshot 2025-01-19 104705](https://d3kjluh73b9h9o.cloudfront.net/original/4X/a/7/d/a7d7af5086800b5fecb93a1581112b510224aa99.jpeg)  
 ![Screenshot 2025-01-19 104743](https://d3kjluh73b9h9o.cloudfront.net/original/4X/7/3/d/73da9eff01f377d66e37a363a2fa21ef3b657f9b.jpeg)

Breaking things into separate dialog files is great most of the time. However when I started my project I needed an easy way to do something like the typewriter effect, except I wanted to chunk things into sentences. Each new sentence being displayed when you click continue. I considered modifying the typewriter effect, and having it use punctuation as a marker to break things up. Which would work in many instances. However it gets more complicated with dialogue where you often find things like an ellipsis. Where as well an ellipsis can be broken up into multiple nodes to emphasize the effect… Which then also complicated things further. I considered using non-standard symbols like the paragraph “¶” as a marker, but in then end it was just simpler to use multiple nodes. The result is a simple dialogue containing far more nodes than some one might expect. So my thought was being able to group nodes with a feature like the “Collapse Nodes” functionality could be helpful and not just to myself.

Anyway that was my entire thought. Sorry or the ramblings as I do tend to over explain. As it stands I will just deal with things as is for the moment and revisit modifying the typewriter effect later using the ¶ as a marker.

---

<div class="post-metadata">

**Author:** ![Galvanicus](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Galvanicus](https://forums.unrealengine.com/u/Galvanicus)\
**Post date:** [May 20, 2025, 11:36am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/863 "2025-05-20T11:36:47Z")

</div>

I might have missed it but is there a way to go back in the previous dialogues? You can go forward in it, but what about backwards to re-read stuff?

---

<div class="post-metadata">

**Author:** ![GenericNickname7](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@GenericNickname7](https://forums.unrealengine.com/u/GenericNickname7)\
**Post date:** [August 5, 2025, 7:29pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/864 "2025-08-05T19:29:10Z")

</div>

Hi, is a quest system included?

---

<div class="post-metadata">

**Author:** ![CheckX17](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@CheckX17](https://forums.unrealengine.com/u/CheckX17)\
**Post date:** [September 15, 2025, 10:09pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/865 "2025-09-15T22:09:27Z")

</div>

Title: Auto advance dialogue + different UI box per character

Message:

Hello,

I’m using the Dialogue Plugin from Fab and I would like to know if there is a way to:

1. Auto advance to the next dialogue node after a set amount of time (for example 3 seconds), without requiring the player to press a key/button. Is there a built-in option for this, or should I handle it manually with timers in Blueprint?

2. Change the dialogue UI box depending on the speaking character.

For example, when Character A speaks, the dialogue box has one style, and when Character B speaks, it switches to another style. Is this possible inside the same dialogue sequence, or would I need to create multiple widgets?

Thank you so much

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

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