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

<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 14, 2022, 4:10pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/676 "2022-04-14T16:10:28Z")

</div>

Please provide repro steps. What version of the plugin you’re using, what version of the engine, what OS, and what do you do in the Editor to reproduce it.

---

<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:** [April 15, 2022, 8:11am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/677 "2022-04-15T08:11:01Z")

</div>

ue5.0 and plugin from the launcher, win10.  
steps:  
Open .sln, in visual studio  
select ‘debug game editor’ in ‘solution configurations’ dropdown  
hit f5  
in editor open any dialogue asset  
hit play button

---

<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 15, 2022, 4:15pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/678 "2022-04-15T16:15:57Z")

</div>

Thanks. It can be fixed by adding the following code in DialogueEditor.h on line 44:

```auto
	virtual FString GetReferencerName() const override
	{
		return TEXT("FDialogueEditor");
	}

```

I’ll send an update to the marketplace today, it’ll probably get processed some time around Monday.

---

<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:** [April 15, 2022, 5:01pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/679 "2022-04-15T17:01:20Z")

</div>

that worked, thanks

---

<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:** [April 20, 2022, 4:54pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/680 "2022-04-20T16:54:59Z")

</div>

I have a new, proper crash but this time I don’t expect a fix since it doesn’t happen in blank project I’ve created to verify the cause, just letting you know 😛

> [2022.04.20-06.40.42:000][961]LogWindows: Error: Assertion failed: [File:D:\build++UE5\Sync\Engine\Source\Developer\MessageLog\Private\Model\MessageLogListingModel.cpp] [Line: 68]  
> [2022.04.20-06.40.42:000][961]LogWindows: Error: GameplayTasksComponent /Game/09-Maps/UEDPIE\_0\_HomeIslandDetails.HomeIslandDetails:PersistentLevel.ChildActorNpc\_GEN\_VARIABLE\_NPC\_C\_CAT\_0.GameplayTasksComponent Object from PIE level still referenced. Shortest path from root: (standalone) Dialogue /Game/02-Blueprints/NPCs/MarcelleDialogue.MarcelleDialogue  
> [2022.04.20-06.40.42:000][961]LogWindows: Error: → UObject\* UDialogue::Data.Events = GetMissionDialogueEvent\_C /Game/02-Blueprints/NPCs/MarcelleDialogue.MarcelleDialogue:GetMissionDialogueEvent\_C\_0  
> [2022.04.20-06.40.42:000][961]LogWindows: Error: → Function /Game/02-Blueprints/NPCs/DialogueEvents/GetMissionDialogueEvent.GetMissionDialogueEvent\_C:ExecuteUbergraph\_GetMissionDialogueEvent::AddReferencedObjects( MarcelleNPC\_C /Game/09-Maps/UEDPIE\_0\_HomeIslandDetails.HomeIslandDetails:PersistentLevel.MarcelleNPC\_C\_1)  
> [2022.04.20-06.40.42:001][961]LogWindows: Error: ^ FPersistentFrameCollectorArchive::operator\<\<() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:3801]  
> [2022.04.20-06.40.42:001][961]LogWindows: Error: ^ FStructuredArchiveSlot::operator\<\<() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Serialization\StructuredArchive.cpp:508]  
> [2022.04.20-06.40.42:001][961]LogWindows: Error: ^ FInterfaceProperty::SerializeItem() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\PropertyInterface.cpp:143]  
> [2022.04.20-06.40.42:001][961]LogWindows: Error: ^ UStruct::SerializeBin() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:1077]

Happens when in event trying to use a passed npc ref (doesn’t have to be like on screenshot, happens also when trying to call interface method on it without setting the variable). Doesn’t crash right away but when exiting PIE.

 ![obraz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/3/2/232d6f1047cefaa2fe8bf838e0e2fe5879303889.jpeg)

---

<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 21, 2022, 1:37pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/681 "2022-04-21T13:37:20Z")

</div>

If you can’t reproduce it in an empty project, I wouldn’t mind taking a look at your complete project. You can upload it to google drive and send it by email or PM.

---

<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:** [April 21, 2022, 2:21pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/682 "2022-04-21T14:21:09Z")

</div>

nah, I would mind sending it to someone and got it to do what I need without using that ref 😛

---

<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:** [April 21, 2022, 6:33pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/683 "2022-04-21T18:33:53Z")

</div>

Looks like modifying the dialogue events’ variable at runtime modifies it for the asset itself? Shouldn’t the dialogue object be instanced when playing rather than use the same instance that is edited?

---

<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 23, 2022, 12:18pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/684 "2022-04-23T12:18:12Z")

</div>

> [@laggyluk](#):
>
> Looks like modifying the dialogue events’ variable at runtime modifies it for the asset itself? Shouldn’t the dialogue object be instanced when playing rather than use the same instance that is edited?

Dialogues and Dialogue Events are UObjects. UObjects are static files with game data for all intents and purposes. I’ve given them a reference to the “World”, which allows them to use nodes like “get all actors of class”, which in turn could make you mistake them for actors, but they’re not. They don’t exist in the level, which means they have no separate runtime instances. UObjects have only one instance, it’s the file itself. So no, you can’t modify them, consider them read-only. You have to change your architectural approach if you were modifying them on runtime.

---

<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:** [April 23, 2022, 2:02pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/685 "2022-04-23T14:02:06Z")

</div>

> [@](#):
>
> You have to change your architectural approach if you were modifying them on runtime.

I didn’t really intended to, just noticed that I can and that change propagates from pie session to editor 😛 Imo this was related to my problems with gc on session end, which went away when I modified the code to create copy of UDialogue & it’s events for game world.

---

<div class="post-metadata">

**Author:** ![Fafato](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/fafato/32/631797_2.png) [@Fafato](https://forums.unrealengine.com/u/Fafato)\
**Post date:** [June 1, 2022, 11:10pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/688 "2022-06-01T23:10:25Z")

</div>

How i can make the player “submit” he name?

---

<div class="post-metadata">

**Author:** ![Subressor](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/subressor/32/1112012_2.png) [@Subressor](https://forums.unrealengine.com/u/Subressor)\
**Post date:** [June 4, 2022, 7:47am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/689 "2022-06-04T07:47:27Z")

</div>

Hey, love the plugin! How do I make it so that the first response from the NPC can change based on a condition? I have already tried to set it up but it doesn’t work ☹ It always goes to the right-hand box even though the left-hand box has a condition that is ‘true’

**Edit: Nevermind, my condition was causing the bug! Will leave this here incase anyone wants to see how to make this work 🙂**

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/8/9/c/89cc25e1548bab90135fd41e40d36f7996f91d3d.png)

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/3/9/b/39be9494e305b1c7c8f0fb549d87b000a8e01398.png)

---

<div class="post-metadata">

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

</div>

Hi, I’m trying to locate this structure, I made a modification to the conditions, now if you fail in a condition the answer will appear but in red and cannot be pressed, but I want to decide what will appear in red or what will not appear.  
 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/4/d/14d4815fca1a10841bb9bfadc262bd10742f3373.png)  
i want to add a boolean on 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 28, 2022, 8:31pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/691 "2022-06-28T20:31:39Z")

</div>

@Davi117 Sure. Check out the [documentation](https://docs.google./document/d/18XokGu3tIrb-sfo9V5WxYZvSDtp73MLvCHLqoiw5FK4/#heading=h.fgr6t5wr646j), paragraph “7.8 Adding more variables to nodes”.

---

<div class="post-metadata">

**Author:** ![reznorism](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@reznorism](https://forums.unrealengine.com/u/reznorism)\
**Post date:** [July 13, 2022, 4:39am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/692 "2022-07-13T04:39:22Z")

</div>

Just wondering if there is a way to use an event condition to change the name variable in the dialogue? Can access it fine, but there’s no set name available. I want to use it to change an NPCs name half way through a conversation after the player discovers their name.  
Any help appreciated!

---

<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:** [July 13, 2022, 7:32am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/693 "2022-07-13T07:32:53Z")

</div>

It’s important to understand that dialogue files can’t be edited at runtime. They’re your cooked game data, much like a mesh file. Dialogues are data assets, and data assets aren’t editable at runtime. Imagine if they were: on your first playthrough you see some data, then you change it, and on your second playthrough you would see a different data. To prevent that, data assets aren’t editable.

If you’re going to reveal a different NPC name a lot, here’s what I’d do:

- add a second text field for a name to a dialogue file (documentation paragraph 7.8)
- create a dialogue event that tells your widget to start using the second name

But if you’re only going to change the name of the NPC once or twice, then simply add an event that sets the name to something else in the widget, without creating a second name field.

---

<div class="post-metadata">

**Author:** ![reznorism](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@reznorism](https://forums.unrealengine.com/u/reznorism)\
**Post date:** [July 13, 2022, 8:00am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/694 "2022-07-13T08:00:28Z")

</div>

Thanks for the response, I think I was over thinking it a bit! Didn’t even consider just changing it in the widget. Thanks =)

---

<div class="post-metadata">

**Author:** ![civant](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/civant/32/619763_2.png) [@civant](https://forums.unrealengine.com/u/civant)\
**Post date:** [July 14, 2022, 6:32pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/695 "2022-07-14T18:32:03Z")

</div>

I was following the tutorial for the typewriter effect but I can’t find the GetFirstChars node in blueprints. Is the tutorial not up to date anymore or am I missing something?

---

<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:** [July 15, 2022, 12:21pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/696 "2022-07-15T12:21:53Z")

</div>

What version are you on? It was introduced in 4.27

---

<div class="post-metadata">

**Author:** ![samroe3d](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@samroe3d](https://forums.unrealengine.com/u/samroe3d)\
**Post date:** [July 16, 2022, 8:34am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/697 "2022-07-16T08:34:59Z")

</div>

I made an unofficial Discord because responding to a forum is way too slow. If you want to join, it’s here [Dialogue Plugin by CodeSpartan](https://discord.gg/gt4xFfDDkt) The developer has not endorsed this.

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

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