SUDS is a plugin for Unreal Engine 5 which allows you to run dialogues in your game based on a script that you write in a text file.
Scripts look something like this:
Note: this is an image so that you can see the nice syntax highlighting provided by the SUDS VSCode plugin.
SUDS has many features, including:
- Dialogue flow is expressed in a text file for a focussed writing experience
- Multi-line speech support
- Player choices with unlimited embedded responses
- Flow control: goto, gosub, conditional branching, random lines
- Persistent variable state
- Send events back to code/blueprints with any number of arguments
- Supports all the variable substitution and formatting features in the same way Unreal does
- A convenient in-editor testing tool
- Localisation support, including adding translator comments
- Easy integration with save games (SPUD or otherwise)
SUDS was inspired by Ink and YarnSpinner, but I started from scratch and designed it specifically to integrate well with Unreal Engine. It also has a number of differences to those systems, based on my own preferences and the needs of my own project.
SUDS is very focussed on providing just a dialogue engine; integrating it with your other game systems is an exercise for the reader; there are multiple ways to do it.
However, if you'd like more of the integration done for you, including supporting making camera cuts, playing cutscenes, and animating characters, I also publish SUDS Pro on Fab. It's pre-built for the engine so you don't need a C++ project, which is also convenient for people who just want to use Blueprints.
You don't need SUDS Pro; core SUDS is a perfectly capable dialogue engine on its own and you can integrate it with the rest of your code how you like. But, if you'd like a little extra functionality pre-integrated, and also to help fund development, please consider buying SUDS Pro.