Blueprint Dialogue System

Oh yes it’s finally out.
It’ll still take me out a week or so to be able to purchase it.

I can’t wait to get my hands on it :smiley:

Btw any ETA on the next update?

From my part, it should be ready before the end of this week; it will then be in Epic’s hands to update the files, and I’m not quite certain how long the updating process takes ( hopefully not too long! :slight_smile: )

In the meantime, a small update I’ve posted a quick video of the working Dialogue Audio and in-line audio and portrait functions:

Looks good. Will check it out. Can it play voice recordings?

Thanks :slight_smile:

The version on the marketplace does not directly play audio (although you can add it as a custom PreAction function), but the update will have several ways of playing audio (along with in-line functions and many other nice changes). The update is in testing at the moment, and should be in Epic’s hands before the end of the week.

There’s a video of it on the main page, and the post above yours.

Update 1.1

Documentation is complete: Documentation

Content Update:

v1.1 Changelog:

New Features:

  • Added Audio playback support: You can now add sound playback through functions (PlaySound(“MySound”)), and through the AudioClip field in the data table.
  • Added Inline Function support: You can now add scripts mid sentence in your text! eg. “Hello {SetPortrait(“waving”); counter = counter +1; } $playername$”
  • The project has been updated for the Unreal Engine 4.8
  • Added script function PlaySound
  • Added the script operator && (and), || (or), and ?: (ternary) with short-circuiting behaviour
  • Added script operators >, >=, <, and <=
  • The comma operator now supports expression programming (eg. a = (GetSum(1,1), GetSum(2,2)) would result in ‘a’ being 4 (2+2))

Bug Fixes:

  • Fixed an issue with inline tools being executed early when the typewriter delay was very near 0
  • Fixed a bug with the sample that would cause Standalone builds to fail. This was caused by the ScriptInterpreter reference being initialized in the GameInstance class before levels were loaded.
  • Fixed an infinite loop/crash when a variable name could not be found
  • Fixed the options text parser removing single characters that were placed between two option scopes (eg. “[col]test[/col] [col]test[/col]” would result in “testtest” instead of “test test”)

Changes:

  • A new column “AudioClip” was added to Dialogue_TableItem
  • Added Audio Clip samples
  • Sample BP_ScriptInterpreter reference was moved to the GameMode class
  • 48 script automated tests have been added
  • Re-organized the sample folder structure to be easier to find the relevant samples

The Documentation has been updated with the following sections:

Gettings Started

  • Do it yourself (basic)
  • Migrating and Installation
    – Use/Interact system setup
    – Script Interpreter Setup

Cross Component Hopping

The following sections have been populated in the Documentation:

Cross Component Hopping
Customized Data Tables
Customized Interfaces
Traits
Conditions
Audio

I am considering the documentation finalized, although if there is anything left unclear, please let me know :slight_smile: (message me on here, email me, or reply to this thread).

The latest update (v1.1) is now available for download.
Please let me know if there are any questions :slight_smile:

The July 2 version on the marketplace appears to be for v 4.7 still. Have you tested this with 4.8?

Thanks for pointing it out Allegro, it is actually a 4.8 version, I have contacted Epic to update the label :slight_smile:

Hi,

I’m having a bit of a hard time setting up the system in my project.
After going through all the steps in your document (and checking them multiple times with the sample project), I screwed up somewhere; but I don’t know where.

Situation: Everything works, but! If I interact with the object I gave the BPC_Dialogue child to it shows the chat window, without any text. On top of that do I lose all the input over the game.

Do you by any chance have the slightest of idea what might be wrong :)?

Thanks in advance,
Bram

Hi Bram,

My first guess would be that the getter functions in BPC_Dialogue are the problem (GetAsset, GetSpeakerAttribute, GetDialogueRowNames, GetDialogueItem, and GetScriptInterpreter), or the script interpreter is not spawned.

Note: If you are using the default ‘main’ datatables, then only GetScriptInterpreter needs to be overridden.

I’m going to be away for a few days, so I may be slow to respond, but I’ll keep an eye out for you response :slight_smile:
Let me know if this helps!

Hi,

Thanks for the fast reply!

Have spent some time with your solutions and indeed forgot to set the Gamemode (whoops!).
However, one way or another I still lose input over the game after I interact, and can’t find out what I’m doing wrong.
I am indeed using the original dialogue files, however use the sample gamemode to get all the ‘files out of the box’.

Got an idea what causes the loss of input?

Thanks again in advance!
-Bram

Hi Bram,

Not so quick to respond this time (I have been away from civilization with no internet), and I’m sorry I hadn’t talked about that in my previous response!
When the dialogue is displayed, the input is placed in “UI Only input mode”, “Set Ignore Move Input” and displays the cursor, so the interface captures all input. You’ll find this in the DisplayUI function in BPC_Dialogue.

These can safely be changed to do whatever you need it to.
Hope this helps :slight_smile:

Hello again all,

I have made several updates to the documentation, adding a section on Custom Script Functions and several troubleshooting scenarios in the F.A.Q section.
Additionally, I have recorded several Video Tutorials to help with setup and basic usage :slight_smile:

I’m still fairly new to UE… hence the reason I’m buying content on the marketplace rather than building it myself.

I’m having a problem where I use the “Add to Project” button that the Epic Launcher provides, and it is overwriting my config files… I’m glad I’ve got backups I can restore from… but this is a bit of an annoyance…

Hi Allegro,

In the video tutorials I go through the process of migrating the files from the sample project rather than using the “Add to Project” method. I suggest either creating a new empty project and adding the project files to it then migrating, or finding the project files in the ‘vault’ from the launcher and loading then migrating the project that way.

Thanks for bringing this up, and please let me know if any of this is not clear :slight_smile:

Hey, love the pack. It’s been very helpful so far. Any thoughts on controller support? I’ve managed to force the dialogue to continue when I press A but when I reach a branch I can’t select specific buttons.

Hi CelestialPanda, I’m glad to hear the tool has been useful!

Controller support is something I’ve been meaning to add. I should have time to look into it soon (a few weeks perhaps). In the meantime, you can see if this video is of any help if you need it sooner :slight_smile:

@ Brum_ It’s possible you neglected to use a Close() in your post script. If you forget to do this, then after you close your dialog window, you will no longer be able to control the game.