Oh i still haven't figured this out yet. Array for Interactive Dialog

You surely do not want to copy dialogue strings one by one into who knows how many arrays!
Wouldn’t it be easier to use DataTables, they’re a breeze to set up.

  • your dialogue lines could have identifiers
  • editable in a spreadsheet or in the editor
  • the dialogue lines can be associated with images/sounds
  • you can still load a chunk of the DataTable into an array for use in any particular conversation, if needed
  • can be updated quickly
  • easier to localise

More info here: Data Driven Gameplay Elements in Unreal Engine | Unreal Engine 5.3 Documentation. Ignore the c++ parts, this can be done in blueprints.

You’d need to plan ahead a little more and design a struct to hold the data (in the editor):

  • identifier/line number, or both, or more
  • actor speaking
  • the string itself
  • next branching line/conversation chunk
  • visual asset
  • sound asset
  • more, depending on the complexity of you game

The basic workflow:

  • have the text in the spreadsheet rows with columns reflecting the above-mentioned data struct (any spreadsheet that can export to *.csv.)
  • export it to csv format
  • create a DataTable in the editor
  • import the csv

You will need to blueprint a manager that handles what is displayed when, ofc.

Oh, and yeah, you’ll need widgets for that.

edit:

yeah, noticed it as well, use *LastIndex *instead, good practice.

Also, noticed that someone mentioned the DataTables already… not enough sleep, oh well.