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

<div class="post-metadata">

**Author:** ![E\_PepeGamer](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@E\_PepeGamer](https://forums.unrealengine.com/u/E_PepeGamer)\
**Post date:** [November 24, 2022, 7:08pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/719 "2022-11-24T19:08:55Z")

</div>

Are you sure this is the case?, the value of uninitialized varibles is undefined in C or C++. Variables which are surely zeroed are only the ones declared using “static” keyword. This is specified in the C++ standard. Some compilers set uninitialized variables to zero, others don’t. So it makes sense a check is triggering if there is no constructor for the struct or default value for the bool declared at initialisation.

---

<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:** [November 27, 2022, 3:05pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/720 "2022-11-27T15:05:49Z")

</div>

Not something I can debate, no.

---

<div class="post-metadata">

**Author:** ![E\_PepeGamer](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@E\_PepeGamer](https://forums.unrealengine.com/u/E_PepeGamer)\
**Post date:** [November 29, 2022, 10:06pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/721 "2022-11-29T22:06:49Z")

</div>

I am not willing to argue or anything, I just updated to 5.1 plugin version from marketplace and those errors are still showing on project load. Can you reproduce them?

---

<div class="post-metadata">

**Author:** ![E\_PepeGamer](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@E\_PepeGamer](https://forums.unrealengine.com/u/E_PepeGamer)\
**Post date:** [November 29, 2022, 10:23pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/722 "2022-11-29T22:23:34Z")

</div>

Setting default values on variable declaration on Dialogue.h FDialogueNode struct removes the error, but I do not know if these default values are the ones expected by the rest of the plugin code:

```auto
USTRUCT(BlueprintType)
struct FDialogueNode
{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
	int32 id = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
	bool isPlayer = false; // <- HERE

	//Todo: Make this more adjustable, allow variables in text. Allow text to be colored differently, etc.
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
	FText Text;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
	TArray<int32> Links;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
	FVector2D Coordinates = FVector2D(0.0, 0.0); // <- HERE

	UPROPERTY(Instanced, EditDefaultsOnly, BlueprintReadOnly, Category = "Dialogue Node")
	TArray<UDialogueEvents*> Events;

	UPROPERTY(Instanced, EditDefaultsOnly, BlueprintReadOnly, Category = "Dialogue Node")
	TArray<UDialogueConditions*> Conditions;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
	class USoundBase* Sound = nullptr;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
	class UDialogueWave* DialogueWave = nullptr;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node", meta = (MultiLine = "true"))
	FText BubbleComment;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
	bool bDrawBubbleComment = false; // <- HERE
};

```

Maybe the .h code is fine and declaring a constructor for the struct and using it when creating new FDialogue nodes would be the correct approach to make these errors disappear. I am not totally sure about this.

I agree with you, current plugin code is fine and struct fields are initialised before using them. These error messages should be just warnings, but are annoying and may prevent a project from deploying in 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:** [December 3, 2022, 3:55pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/723 "2022-12-03T15:55:20Z")

</div>

> [@E\_PepeGamer](#):
>
> but I do not know if these default values are the ones expected by the rest of the plugin code

Sure, they are.

> [@E\_PepeGamer](#):
>
> I am not willing to argue or anything, I just updated to 5.1 plugin version from marketplace and those errors are still showing on project load. Can you reproduce them?

Yes, they show up. Thanks for the report, I’ll get an update out in a couple of days.

---

<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:** [December 3, 2022, 6:42pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/724 "2022-12-03T18:42:24Z")

</div>

If I remember correctly the struct fields initialization was error in 5.0 source version, then changed to warning which still turned out to be an error when trying to package. Correct way to fix was creating explicit constructor for each struct that would set those fields, setting defaults under UPROPERTY still caused error.

---

<div class="post-metadata">

**Author:** ![gustavorios2](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/gustavorios2/32/1194641_2.png) [@gustavorios2](https://forums.unrealengine.com/u/gustavorios2)\
**Post date:** [December 15, 2022, 3:19pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/725 "2022-12-15T15:19:57Z")

</div>

the plugin is amazing, but if it had a comment box like in the blueprints it would change my life 😭

---

<div class="post-metadata">

**Author:** ![gustavorios2](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/gustavorios2/32/1194641_2.png) [@gustavorios2](https://forums.unrealengine.com/u/gustavorios2)\
**Post date:** [December 15, 2022, 3:30pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/726 "2022-12-15T15:30:00Z")

</div>

“search” too… be able to search would be so great…

---

<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:** [December 20, 2022, 5:35pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/727 "2022-12-20T17:35:00Z")

</div>

> [@gustavorios2](#):
>
> comment box

I initially made the plugin from a widget, not from graph, which prevents me from using epic’s comments. I either have to make my own, or rewrite the entire plugin from scratch to inherit it from a graph.

> [@gustavorios2](#):
>
> “search” too… be able to search would be so great…

That’s actually an interesting idea and doable. Will add it to my to do list.

---

<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:** [December 22, 2022, 12:25pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/728 "2022-12-22T12:25:16Z")

</div>

Hello good sir,

I was wondering if there’s any chance you could build in a variable duration float value for dialogue nodes rather than having to rely on having an audio clip to determine duration?

I realise that this could be done with a custom event, but I think it’s a standard enough feature that it could be defaulted on the nodes. This would also enable people to more easily create games that don’t intend to use audio.

[Dialogue Plugin by CodeSpartan](https://discord.gg/mSTn4B8z) - Here’s a plug for the discord I created around your plugin if anyone wants to join for discussion.

---

<div class="post-metadata">

**Author:** ![Arahan5671](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Arahan5671](https://forums.unrealengine.com/u/Arahan5671)\
**Post date:** [December 26, 2022, 9:22am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/729 "2022-12-26T09:22:40Z")

</div>

Hi ,

I want dialogues to be continuous without player interaction and widget, could you please guide me on how it can be achieved. I want it to be like a small movie instead of continuous player interaction.

---

<div class="post-metadata">

**Author:** ![Thevendus](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Thevendus](https://forums.unrealengine.com/u/Thevendus)\
**Post date:** [December 27, 2022, 5:09am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/730 "2022-12-27T05:09:19Z")

</div>

@ Any advice on how to use the left analog stick to move in the Dialogue widget? Only the D-pad works inside and I’m having a time trying to send the axis value to the widget. Any help would be great.

---

<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:** [December 29, 2022, 4:34pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/731 "2022-12-29T16:34:23Z")

</div>

> [@Thevendus](#):
>
> Any advice on how to use the left analog stick to move in the Dialogue widget? Only the D-pad works inside and I’m having a time trying to send the axis value to the widget. Any help would be great.

Axes aren’t made to do that out of the box in UE5. Epic’s Enhanced Input plugin may have a threshold after which it sends the signal once, but it’s a medium-size maybe. If it doesn’t, you have to code it in yourself. E.g.: accumulate the axis input on tick, and once it’s past a threshold, you execute the code responsible for moving the selection up/down, and reset the accumulated value.

> [@Arahan5671](#):
>
> I want dialogues to be continuous without player interaction and widget, could you please guide me on how it can be achieved. I want it to be like a small movie instead of continuous player interaction.

If you place NPC nodes without using player nodes, it already plays like that, except you’ll have a “Continue” button to press all the time. To do away with the continue button, find where it’s being made visible:

 ![](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/6/c/26c9da9ba7cc3698dc8709595a72791039f023ef.png)  
Don’t make it visible. But we still need to automatically execute the Continue button’s code, which is here:

 ![](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/c/c/2cc6c1b5a4054c2889de3451e694284128548e21.png)  
When exactly do you move on to the next node? If your lines aren’t voiced, then you need to add a float parameter to nodes (procedure described in the documentation) and use the “delay” node before calling the Continue button’s code.  
If they’re all voiced, then look at the code where the sound is played:

 ![](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/5/a/15aa705a9cf09ca9a665d08bb0d91121473c2df5.png)  
After playing the sound, do a “Delay” by the sound’s duration, and then call the Continue button’s code.

---

<div class="post-metadata">

**Author:** ![Thevendus](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Thevendus](https://forums.unrealengine.com/u/Thevendus)\
**Post date:** [December 30, 2022, 3:19am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/732 "2022-12-30T03:19:45Z")

</div>

Appeciate the response! Looking into it now

---

<div class="post-metadata">

**Author:** ![Arahan5671](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Arahan5671](https://forums.unrealengine.com/u/Arahan5671)\
**Post date:** [December 31, 2022, 10:52am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/733 "2022-12-31T10:52:34Z")

</div>

Thank You for the response will try it out

---

<div class="post-metadata">

**Author:** ![gustavorios2](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/gustavorios2/32/1194641_2.png) [@gustavorios2](https://forums.unrealengine.com/u/gustavorios2)\
**Post date:** [December 31, 2022, 2:46pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/734 "2022-12-31T14:46:03Z")

</div>

Thank you very much for your work, sir. Your plugin is amazing, I am enjoying it immensely.

Here goes one more idea 😜  
Would it be possible to develop a list of favorite nodes and be able to find them in a list.  
I think it would be an alternative to the comment boxes.

---

<div class="post-metadata">

**Author:** ![zonfar2](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@zonfar2](https://forums.unrealengine.com/u/zonfar2)\
**Post date:** [January 2, 2023, 12:14am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/735 "2023-01-02T00:14:49Z")

</div>

Can I end a dialogue with an NPC response? Currently if I have an NPC response as the last thing said, the dialogue screen stays up when the dialogue ends. If the last dialogue response is from the player, then the dialogue screen goes away. I would like to not always have the player have to be the last one to say something. Is this possible?

---

<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:** [January 2, 2023, 9:24am UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/736 "2023-01-02T09:24:36Z")

</div>

Sure. Make a dialogue event that removes the dialogue widget from the screen after some delay.  
When you spawn the widget, you save it into a variable. To close it, call a “remove from parent” on this variable.

---

<div class="post-metadata">

**Author:** ![zonfar2](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@zonfar2](https://forums.unrealengine.com/u/zonfar2)\
**Post date:** [January 2, 2023, 4:45pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/737 "2023-01-02T16:45:57Z")

</div>

Perfect! Do I need to remove the parent even when the conversation ends with a PC?

When the widget leaves the screen (in this case), I’m unsure if the widget has been totally removed, or if it’s just been removed from screen, and still taking up memory.

---

<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:** [January 2, 2023, 7:17pm UTC](https://forums.unrealengine.com/t/dialogue-plugin/59871/738 "2023-01-02T19:17:34Z")

</div>

“Remove from parent” destroys the widget and frees up memory. The “parent” in this case is the screen itself.

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

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