Did you notice where it come from ? CoG's dialog system

If you had played at our game The Consequences of Gardening you may have paid attention to the dialog system.
Believe me or not, during this jam within a team of seven people, I tried to code and implement a dialog system based on Celeste‘s one.

Why would I reproduce it? Simply because I love Celeste, and I find its dialog system well-suited for an immersive dialog experience in a narrative point&click.
If you take a look at the Celeste dialog system, you can observe these features :
- Open and close animation with own sound (done)
- Per letter reveal and animation (only reveal was done)
- Character speaking sounds (done)
- Character speaking sound depending on emotion
- Custom background per character (done, only one default background yet)
- Tooltip when player can continue dialog (done)
- Rich text (done)
- Text shading effects
- Showing avatar (done)
- Showing avatar animation and depending on emotion
- Multiple sentences and character’s dialog switch (done)
It’s enough features to implement for a game jam in 72 hours, isn’t it?
I wanted to make this dialog’s system independant from others. Moreover having a fast method to create dialogs and easy options settings for my team was my main goal.
Here is how to use it in Unity:
To launch a dialog, we just need to setup a dialog asset (which is a simple ScriptableObject). We can do it directly in the Dialog’s game object inspector, or programmatically by simply calling UIDialogManager.instance.Dialog = <my asset>. The manager will start the dialog automatically. We can control if the dialog system is free to use or not by checking bool UIDialogManager.instance.InDialog.

Then you just need to setup all the dialogs with ScriptableObjects! Simply as it:

Then per dialog you setup who is speaking:

And for a character, a dialog meta to change the mood (background) of it easily - yet it just contains a sprite.
If you want to look closer at how the code works, let me know in comments :v: :-) Or you can dive into our code’s repository from the itch.io game’s page.
Thank you for your feedbacks and for playing our game! You guys rock!