Dialogue Plugin

Well, sorry for negative rating. But text cannot be selected from string tables for dialogue boxes, string tables can be used only for names. Also “start” node text is being gathered by localization which might not be. Any possibilities to fix that? Thank you

Hey
I’m trying to create an event that will allow the dialogue to be played from another actor besides the default player / npc.

I’ve added an npc object reference variable to my custom dialogue event and made it instance editable. Then in the dialogue editor after adding the new event to a node it shows a drop down list including all instances of the type in my current level, but it won’t let me select any of them.

I’ve seen your event tutorial video where you use class ref instead of object ref, is this the only way to go and maybe use the instance name to distinguish individual NPC’s of the same class?

Hey. So if I understand what you’re referring to as string tables, you mean a data tables with strings, correct? Like this:

https://i.gyazo./93771ab1a7fa801e34e929a87a76cd81.png

If this is what you’re referring to, then I’m a bit surprised. Because I developed this plugin precisely to have node-based dialogues ***instead ***of using tables. This is the entire point of the plugin. Back in 2016 I was prototyping an RPG and UE4 had no dialogue solutions that wouldn’t rely on tables. With tables you can’t visualize the flow of the dialogue, so people used to write dialogues in excel and export to CVS, which is ridiculous. So I spent two months making the first version of this plugin instead. And so now that it’s node based, I’m a bit surprised by someone asking for table support. And the main reason is that I don’t see a production pipeline that would require or involve tables in any way. I’d like to hear how you see the dialogue writing process that involves them.

I imagine you want to write “hello_merchant_001” in a node, then switch to another window where you have your table and define “hello_merchant_001” as “Hello there, my friend, welcome to my store”? If so, then… Why?

Thanks for the report, I’ll fix it for next version.

You can’t reference objects because they exist only in a scene. They don’t exist in files. What exists in files is CLASS (dark purple) from which your objects (light blue) inherit.

So yes, either use class ref, or use the tags system. Use “find actor by string” or something to that effect, and give your npc a custom tag like this:

https://i.gyazo./6c92084a4bd3cd889b6b3ff39c554089.png

You seem on the right track. Add a delay before “Remove from parent”. But also make sure the player can’t interact with it in the meantime, while your animation is playing.

https://forums.unrealengine./core/image/gif;base64
​​​

I tried that but, It seems like functions don’t allow the delay node.

I think he means this https://docs.unrealengine./en-US/…les/index.html
It would be nice if you can make string tables usable, I’ve gotten used to using them for everything else.
It is something “new” and you save yourself duplicate texts.

You can just create and call a method that’s outside of a function, and the only thing that method would do is “delay -> remove from parent”.

Thanks. Could you give me examples of usage?

Imagine that you have several dialogues that use the same common words as hello, OK, how are you ?, see you later.

If you pass the Gather Text from localization Dashboard you are and will add all of them. Also you will have to write them every time and see that it is well written, etc.

I don’t see this going anywhere beyond “hello” and “ok”, but if such a drastic need for this exists, it’s not difficult to implement. You can look at how “string variables” work and concoct a very similar mechanism.

Just in case anyone needs this in the future.P.s this plugin is amazing

Goal: To create an animation that played before and after the dialogue. Example( Film bars appearing on screen or dynamic widgets like in persona 5.)

Animations at the beginning of the dialogue are really simple, just add the animation directly after the Event construct node.

](filedata/fetch?id=1774342&d=1591831112)
For animations at the end of the dialogue, because delay nodes aren’t available in functions, you will need to bring the ToNPCReply function into the event graph by creating a custom event and reassign everything. the reason for the delay node is to ensure that the widget isn’t removed before your animation has time to play.
](filedata/fetch?id=1774344&d=1591832367)
Creating delay node and referencing into the To NPC reply didn’t seem to work but let me know if you had more success. this method just happened to work in my case.

Has anyone been able to set up the plugin to work like this? couldn’t find the response to this question.

I wrote a not-so-short guide on how to implement keyboard functionality into this plugin such that the player can use the Enter and Up/Down arrow keys to fully navigate dialogues (with one caveat at the very end that I have not figured out):

https://imgur./gallery/s8PRFya

Ultimately, what you have to do is quite simple but I made the explanations overkill for any possible newcomers to this plugin / Blueprints in general.

UE4 4.25.2
Looks like the latest UE4 update completely broke the plugin.
Getting this error even in empty project:

UATHelper: Packaging (Windows (64-bit)): ERROR: Expecting to find a type to be declared in a module rules named ‘DialoguePlugin’ in UE4Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. This type must derive from the ‘ModuleRules’ type defined by Unreal Build Tool.
PackagingResults: Error: Expecting to find a type to be declared in a module rules named ‘DialoguePlugin’ in UE4Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. This type must derive from the ‘ModuleRules’ type defined by Unreal Build Tool.
UATHelper: Packaging (Windows (64-bit)): Took 1.1202238s to run UnrealBuildTool.exe, ExitCode=6
UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool failed. See log for more details. (C:\Users\Tom\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.25\UBT-XXXz-Win64-Development.txt)
UATHelper: Packaging (Windows (64-bit)): AutomationTool exiting with ExitCode=6 (6)
UATHelper: Packaging (Windows (64-bit)): BUILD FAILED
PackagingResults: Error: Unknown Error

Any suggestions?

Looks like the 4.25.2 update broke pretty much everything for everyone. I’m looking into it right now.

This post provides a fix for the 4.25.2 issue: https://forums.unrealengine./unreal-engine/announcements-and-releases/1755531-unreal-engine-4-25-released?p=1792437#post1792437

Worked for me.

I’m having issues getting the game-pad to highlight currently selected option so I wanted to reference the sample project from github (didn’t help but…) That project (the 4.25 github project) is broken. The ownerwidget lost its type and is just “object” type and needs to be reset as DemoDialogueWidget then remade/connected to a few points it affects. At least this is what I did to fix it, and it seemed to have worked.

Can this plugin connect to built in UE4 localization dashboard (translating into different languages)? Or, is there a good way to go about that?

The github project doesn’t have any local widgets, it relies on plugin widgets that are installed into the engine, so if you modified them, even on accident, this would explain what you’ve experienced.
I would recommend reinstalling the plugin in cases like this.