Integrated Dialog Editor

Heya,

Sorry for the delay I was away for the weekend. The 4.11 version will be out tomorrow.

Best regards,
Damir H.

np glad to hear from ya hope you had a great weekend and looking forward to tomorrow!

Update 1.0.5


-Updated to 4.11!
-Improvement: Changed the way resetting the line index and flags works internally in a dialog. It should now be simpler to have flags persist across dialog sessions by using the “Reset Type” option in the MoveToNextLine function. This determines what is being reset should the MoveToNextLine call result in the dialog ending.
-Bug Fix: The setup shown in the example project, with the UI listening to the OnDialogGlobalStart event and calling MoveToNextLine right away would cause an issue if the first dialog node was a conduit. Said conduit wouldn’t check for non-global flags being set. Due to the fix, OnDialogStart is now called before OnGlobalDialogStart.

Now that 4.12 is always out, will we get sequencer support? :smiley: loving it so far.

Heya,

Glad you like it! I will me implementing Sequencer support as soon as I get the time to sit down and do some work on it. My day job has me glued to the office these days and even though we use this plugin in our own game at the office, currently we aren’t working on the dialog system. Without making any hard promises, I am estimating that I’ll be able to get it done in ~2 weeks.

Quick Question:

Do you offer older engine versions of the plugin, or is it only for the latest version at any given time?

Heya - the plugin should compile without issues in 4.9. However I advise anyone who wants to purchase to wait a bit more, it’s been approved for the marketplace and will be releasing there shortly. I will be looking whether or not it’s possible to distribute marketplace keys to people who purchased it on Gumroad as well.

As for Sequencer support - I spoke too soon earlier. Unfortunately it’s a bit tricky to get that in since Sequencer is a plugin, i.e. it may or may not be enabled so classes for it may or may not be available, meaning I need to figure out a way to compile those out if sequencer isn’t available. I’m sure there is a way but I haven’t explored that yet too deeply.

That is great news thanks! :smiley: really happy for it.

That would be awesome if you could distribute the keys, I would hate to miss sequencer support when it’s out :frowning: will you keep it updated on gumroad as well if Epic doesn’t let you distribute the keys?

In case I am unable to provide keys for the marketplace, I will make sure to keep the Gumroad versions up to date of course.

Thank you very much, I will rest easier that way :smiley: Oh by the way I have something to ask you, is there a way to call a specific bullprint function/event when a dialog option is choosen? I know we have the line start event which sort of does it but I would like to perform some action when a dialog option is choosen. sort of a an intermediary node that connects to an actual blueprint.

Currently what you can do is add a label to a line and check that in OnDialogLineStart, then call logic on it. However, ever since I implemented binding of events for flags I realized that that same approach can be used to bind events to line start and line end. It’s not something that I have up my sleeve ready to go, and it would take a bit to properly develop… however once the marketplace release hits I plan to spend some time figuring out how I can get sequencer support into the plugin, add this event functionality as well as one more feature that I started experimenting with which is essentially a list of global text replacements, so you can create a project-wide list of templates to replace, e.g. {MainCharacterName} etc. so if you have to change them you need to do it in one place only.

that sounds great, I also like the new ideia of the global templates they sounds very useful, no more need to calculate them on every dialog start but no complains there, it works really good how it is :stuck_out_tongue: A suggestion for the global list: you could make us assign an (optional) update event/function to every template so when the lookup happens if the template translation is empty that event is called to fill the variable and then use it in the dialog. But this is very low priority for me at least as the current system works for me.

Yes, some sort of dynamic method to fetch the data would also be part of it. But it would work the other way around - if you assign an event to fetch the lookup it would override the data written in the static table.

Would I be able to update the static table in runtime also? for those not assigned by an event, for example {This Place} could be updated by my code when the player enters a different location even if there is no dialog running at that point.

Sure, but they wouldn’t override the non-runtime defaults. You’ll also be able to add values so if the value isn’t set in the static table it would be created for the runtime duration.

Yes of course, I wouldn’t won’t to override the defaults, all my templates will probably be dynamic either from a fetch event or a runtime attribution. Really good to know all this good news today. Looking forward for the next update and good luck with the marketplace release

That is pretty darn neat! Going to put on the Epic marketplace?

teak

Heya,

Yes it will be available on the marketplace “soon”.

Marketplace

Any change that having bought it from Gumroad we can have access to it in the marketplace would just make future updates easier to manage.

Does this work with Linux too? How do you integrate this? Is this source code, a dll / .so file or is it blueprint based? Does it use some Windows function if this is written in C++ or does it just link against the Unreal engine? May I try to build it on my own, to make it for Linux?