Dialogue Plugin

i second that. The ability to change speaker name would be a game changer. Can we get a tutorial on how to do that, pretty please?

Hi everyone!

Is there a way for me to get every dialogue node’s text within an object and add the text to a text variable? I want to make a dialogue transcript system so the player can review the dialogue after the dialogue has played.

im actually trying to do the same

Can you call the quest BP from the MMO kit directly from this plugin?

Along with this, my animator wanted to know if it was possible to use cutscenes or sequences with the dialogue system. IE; the player would watch a cutscene that would be interrupted by a dialogue box or in our case, the dialogue QTE system, then depending on the outcome, a different corresponding cutscene would play.

Ambitious, but I just need to know if it is possible.

Hey there! I was wondering what the best approach would be as I went ahead and looked through here for being able to localize the text and I was wanting to use String Tables as I am with everything else in my game and not seeing a way to do that properly; so I’m wondering if I should just use the variable %'s to achieve this?

I would be curious too.

When is the plugin updated for UE5?

I’m attempting to compile for a 5.0 build,
I’ve done the marquee selection and commenting out the toolkit include, but when I compile I get these errors:

1>I:\UE5_2\Engine\Plugins\Marketplace\DialoguePlugin\Source\DialoguePluginEditor\Private\DialogueEditor.h(39): error C3668: 'FDialogueEditor::GetEditorMode': method with override specifier 'override' did not override any base class methods
1>I:\UE5_2\Engine\Plugins\Marketplace\DialoguePlugin\Source\DialoguePluginEditor\Private\DialogueEditor.cpp(196): warning C4996: 'IAssetEditorInstance::GetToolbarTabId': Toolbar tab no longer exists and tab ID will return None; do not add it to layouts Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>I:\UE5_2\Engine\Plugins\Marketplace\DialoguePlugin\Source\DialoguePluginEditor\Private\DialogueNodeWidget.cpp(25): warning C4996: 'SWidget::Visibility': Direct access to Visibility is now deprecated. Use the setter or getter. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>I:\UE5_2\Engine\Plugins\Marketplace\DialoguePlugin\Source\DialoguePluginEditor\Private\DialogueViewportWidget.cpp(194): error C2440: 'initializing': cannot convert from 'SConstraintCanvas::FSlot::FSlotArguments *' to 'SConstraintCanvas::FSlot *'
1>I:\UE5_2\Engine\Plugins\Marketplace\DialoguePlugin\Source\DialoguePluginEditor\Private\DialogueViewportWidget.cpp(194): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>I:\UE5_2\Engine\Plugins\Marketplace\DialoguePlugin\Source\DialoguePluginEditor\Private\DialogueViewportWidget.cpp(288): warning C4996: 'SConstraintCanvas::FSlot::OffsetAttr': Direct access to OffsetAttr is now deprecated. Use the getter or setter. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>I:\UE5_2\Engine\Plugins\Marketplace\DialoguePlugin\Source\DialoguePluginEditor\Private\DialogueViewportWidget.cpp(289): warning C4996: 'SConstraintCanvas::FSlot::OffsetAttr': Direct access to OffsetAttr is now deprecated. Use the getter or setter. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>I:\UE5_2\Engine\Plugins\Marketplace\DialoguePlugin\Source\DialoguePluginEditor\Private\DialogueViewportWidget.cpp(291): warning C4996: 'SConstraintCanvas::FSlot::OffsetAttr': Direct access to OffsetAttr is now deprecated. Use the getter or setter. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>I:\UE5_2\Engine\Plugins\Marketplace\DialoguePlugin\Source\DialoguePluginEditor\Private\DialogueViewportWidget.cpp(292): warning C4996: 'SConstraintCanvas::FSlot::OffsetAttr': Direct access to OffsetAttr is now deprecated. Use the getter or setter. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.

Hey, did you find any luck with getting all the lines in a dialogue object?

Just tried to compile the plugin for UE5 Preview but it doesn’t work.
Same errors because of the API changes.

This is probably gonna take a while until that gets fixed. :confused:

Hey. Getting a lot of emails regarding the UE5 Preview 1. Just want to let you know I’m on top of this. I’ll post a guide here once I’ve figured everything out. A lot of breaking changes in the engine’s API.

Check out the documentation, I think there’s an explanation on how to use string tables. Although with UE5 I’m hoping to make it work out of the box, without any fiddling, if I manage to figure out how.

2 Likes

Sounds good to me, will check it out; cheers!

I’ve updated the 4.27 version of the plugin to include UE5 compatibility code in a bunch of places, i.e. snippets like this one:

#if ENGINE_MAJOR_VERSION == 5
// code for ue5
#else
// code for ue4
#endif

The plugin will now compile both under UE4 and UE5 Preview 1. Now that the “UE5 Early Access” version is deprecated, I’ll no longer provide instructions for it.

NOTE that UE5 Preview 1 isn’t without its bugs. For example, the CTRL+S shortcut doesn’t work, but it affects many windows other than the Dialogue Plugin, so it’s not a plugin bug, but an engine bug.

If you’re going to use the plugin on UE5, be sure to install UE5 Preview 1 and restart your Epic Launcher to download the latest Dialogue Plugin update for 4.27. After Epic Launcher reboot, go to Library → Installed Plugins under your 4.27 engine installation and you’ll see an Update Plugin button if you’re not in the latest version.

For experienced users, simply move the 4.27 plugin into your 5.0 project, update the EngineVersion in .uplugin file and recompile the project.


For users who require more thorough instructions, perform the following:

  1. Move the plugin from the engine (4.27) into your UE5 Preview 1 project as per the plugin’s documentation paragraph 7.4 - follow the steps 1 through 6.

  2. In your project’s directory open the file /Plugins/DialoguePlugin/DialoguePlugin.uplugin and change the “EngineVersion” value from 4.27.0 to 5.0.0 - then save the file.

You’re good to go.

1 Like

YES! It works!

I just compiled the plugin for UE5 Preview 1. Works like a charm! :heart_eyes:

First off. Awesome plugin. I’ve played with a few for dialogue but this one hit’s the nail on the head. Simple, not convoluted, easy to implement. Love it, chefs kiss.

I am however having an issue with getting a condition to fire on a PC node. I followed the video exactly with slight changes for my situation. The condition cast’s to game mode to get a map/dictionary variable. If a specific key is found it should test true, if not false. The idea is that this would allow me to have an initial “Select NPC dialogue” to choose who to talk to if more than one NPC is present. Though it doesn’t seem to work that way. The only way I can get it to work is if put I the condition on an NPC node after the PC node which only works if one NPC is present. If multiple NPC’s are present it defaults to the first one… which makes sense.

I’m asking because according to the video I should be able to place a condition on the PC node to decide if it is visible or not. Just making sure I interpreted this correctly. Or do I need to modify the Dialogue and Reply Widget BPs to do what I want?

Either way still a great plugin!

Just as an Update… I figured it out. I went poking around in the DialogueWideget to see if i did something. I went to “Display Player Replies” branching and the check conditions node was not attached to its respective branch node. Must have disconnected it when doing the add SecondText/Visited replies stuff. Works as intended now.

Perfect plugin! Thanks!

5.0 version of the plugin is live.

Notable changes:

  1. You’ll notice this new, but familiar button

It allows you to use string tables, or pick whether you want the string to be grabbed by the localization system or not. No more fiddling with C++ to have this functionality.

  1. Possible, very rare crash fixed both in the latest 4.27 version and 5.0

  2. The engine changed “Ctrl+W” to “Ctrl+D” for duplication, so use the new shortcut. It’s not the plugin, it’s the engine.

3 Likes

Hi, thanks for the great tool, please tell me where I can download the version of UE5 ?

  1. Restart Epic Launcher. It’ll probably appear afterwards. If not:
  2. Make sure you have the 5.0 up to date.
  3. Make sure you haven’t installed the plugin yet.