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.