Skip to content

What is SUDS Pro?

SUDS Pro is a text script driven dialogue system, that can run complex branching dialogues with advanced features, and also integrate with camera systems, cutscenes and character animations, among other things.

SUDS Pro builds on SUDS, an open source dialogue system (written by the same person!). This Pro version adds ancillary functionality and a convenient marketplace install, but if you'd prefer to build out the extras yourself, you can totally just use open source SUDS for free if you want. See Why SUDS Pro for more information.

A typical snippet from a dialogue script in SUDS might look like this:

[event FadeOut]
[event CharacterMove `Player`, `PlayerMark`]
[event FadeIn]
[event WaitFade]
[event CharacterAnim `Manny`, `Wave`]

[if {RepeatVisit}]
    Manny: Welcome back! What can I do for you?
[else]
    Manny: Hello, and welcome to the demo for <Em>SUDS Pro</>!
    Manny: SUDS Pro is an advanced dialogue system, where you can write all your dialogue in 
           convenient <Em>text scripts</>.
    Manny: It also allows you to perform <Em>camera cuts</>, trigger <Em>animations</> 
           on characters and cameras, play <Em>cutscenes</>, and more!
    [set RepeatVisit true]
[endif]
:mainchoices
* Feature Summary
    Player: How about a quick summary of the features of <Em>SUDS Pro</>?
    Manny: Sure thing! 

We'll talk about exactly what all these things mean later, but you can probably already infer a lot of it already.

Why Text Based?

There are a lot of dialogue plugins available for Unreal Engine, and most of them use some kind of graph editor. So why do we use text scripts instead?

In my experience, graph-based dialogues become unwieldy very quickly once you actually start to build out a non-trivial amount of dialogue. While graphs are good at representing branches, they tend to spread out the actual dialogue text in a way that's much harder to read back, review, and edit than if it were just in a simple text document.

There's a reason that movie scripts have stayed mostly the same format for decades!

Of course, games have to deal with player choices and other branching dialogue, but you can accommodate those in text, and the result is that the bulk of your script is much easier to read. Plus, because the script is plain text, you can review changes over time very easily because source control deals with it much better.

SUDS is partly inspired by Ink and Yarnspinner, which took the same view.

Features

So, what can SUDS Pro actually do?

Core dialogue features:

Extended features:

  • Convenient higher level interface for driving UIs
  • Perform camera cuts synced to dialogue lines. Over-the-shoulder shots, wide shots, whatever makes sense for the flow of the dialogue
  • Add camera effects
  • Easily add motion to cameras for a dynamic feel
  • Drive character actors, moving them to marks, playing emotes, changing their state
  • Run cutscenes, and synchronise between dialogue and cutscene events

Next Steps

Example Project

To get up to speed quickly and see the kind of thing you can do, check out the Example Project.

Tutorial

The Tutorial will teach you how to write your first script, and how to slowly expand it to incorporate camera changes, character animations and cutscenes.

Full Reference

Want to jump in the deep end? Then the Full Reference Documentation is where you'll want to start!

About SUDS Pro

If you're wondering why SUDS Pro exists, and what the relationship is to the open source SUDS library, allow me to explain.