Dialogue Plugin

Still using the plugin since ~2020, still awesome! Much love @CodeSpartan <3

Feature request - can we move the UDialogueUserWidget functionality away from a UUserWidget as a child? For any projects using CommonUI, it makes it not possible to have a dialogue widget instead of a CommonActivatableWidget. Perhaps as a generic UObject so we can maintain state, or make it stateless in a Blueprint Function Library and direct the user to add specific variable in the widget itself to pass through for state?

Workaround - Add a “dummy” UDialogueWidget to the CommonActivatableWidget you want the dialogue screen in. Use that as a reference for calling all of the dialogue functions. You need to make a specific BP child subclass if you want to keep the overridable “Inject Player Character Name” functionality.

  1. Yes, just add a timer and invoke your “next” custom event, instead of waiting for a player input.
  2. Yes, simply get a reference via your gameplay code for the speaking character. There, you can implement any approach you want (e.g. an enum on “Character Type”, map this enum to a “colour tint”, apply the “colour tint” to the widget itself

No. This is for the dialogue and dialogue data/logic only. It is built in a really nice flexible way so should be easy to integrate it to any decent quest system (custom or marketplace)

How does this plugin work in a server authoritative structure? Does everything run client side or can it run serverside? I’m wanting to use this alongside your MMO kit plugin but I’m worried that events and conditions involved in the dialogue trees could be hijacked by player clients so I want it all running on the server if possible, do you know how I could do that?

How do you envision a MP dialog working?

Global Events/Conditions would need to be tracked on the server and each client’s dialog would need to check against those.

Hello,

I’m loving the Dialogue Plugin! The Conditions and Events system was such a life saver to my project as well. I like them so much, I’d like to use them in other places throughout my project, but I’m having a problem. The conditions and events work perfectly fine with their intended purpose inside Dialogue, but I’m unable to get the PlayerController, Gamemode or any of the outside classes when I define Condition and Event variables in other classes.

The below example in the picture is me creating those variables in my CampAction class, and then checking those conditions in the blueprint. Any condition or event using these variables give errors of Accessed None trying to read property GetPlayerController, but they don’t when checking the same conditions from Dialogue nodes that came with the plugin. Why is this, and how would I go about fixing it to use Conditions/Events outside of Dialogue?

Thank you!