Thanks for the input! I’ve actually gotten to the point that it’s completely functional. My roll-out text system is basically the same as what you described, except instead of a timer it’s just a branch statement with an incrementing index value instead. It works for my purposes pretty well.
I’ve decided against using character portraits so I won’t be worrying about that.
Unfortunately, due to the fact that I wanted the ability to add pauses mid-string means things got a little complicated with the way I’m handling my dialogue strings. The only way I’ve figured out to handle it is having a string with the full text of what the character says (so if the player presses the skip button, it will cancel the roll-out event and display the full text from that string), and then whenever I want there to be a pause in the dialogue, I cut the string at the pause, put a delay, then append the text after the pause to the text roll-out event. Like so:
The branch node is there to check if the player is still on the specific branch of dialogue and haven’t skipped to the next one already. If the player did, it won’t continue printing the rest of the dialogue past that delay.
My biggest concerns with the way I’m handling this are of course, localization, and also just the fact that this is going to start becoming a pain to manage when I get more and more lines of dialogue in the game. I know absolutely nothing about localization. If I even get the point that this becomes a finished product, I doubt it will be even remotely big enough that I would need to worry about something like that, but I guess it’s better to be on the safe side? Not sure how I should be able to condense that down though so that it won’t be a pain in the ***. Thanks again for the help.