This video covers one of the many ways to go about creating an dialogue system in Unity with a focus on features critical to RPG-style games. This system uses Ink, which is a narrative scripting language for video games that integrates nicely with Unity.
The dialogue system we create will focus on the below 3 features.
1. Let the player make choices that branch the dialogue.
2. Enable us trigger things in the game directly from the dialogue
3. Allow us to show dialogue conditionally depending on what’s happening in the game.
For other common dialogue system features not covered in this video (portraits, typing text, etc…) you can view the appropriate video from the previous Ink+Unity dialogue system tutorials I created as linked below.
This system builds off of a project created in some previous tutorials; however you do not need to have seen those previous tutorials to understand the dialogue system we build in this one. The previous tutorials for this project come from the quest system playlist linked below.
I hope this helps and best of luck! 🙂
► QUEST SYSTEM PLAYLIST (that this video is part of)
All videos I've done for the Quest System series can be found in this playlist.
https://www.youtube.com/watch?v=UyTJLDGcT64&list=PL3viUl9h9k7-oX3Sz8VvyKCIN24XOXNZR
► PREVIOUS INK + UNITY DIALOGUE SYSTEM PLAYLIST
For other common dialogue features, such as portraits, typing text, and more, see the appropriately named videos in the below playlist. This is a previous series I did on Unity+Ink as further explained by the “My Previous Ink+Unity Series vs This Video” timestamp in this video.
https://www.youtube.com/watch?v=KSRpcftVyKg&list=PL3viUl9h9k78KsDxXoAzgQ1yRjhm7p8kl
► INK WEBSITE & DOCS
Website (install the Inky Editor from here)
https://www.inklestudios.com/ink/
Official Ink Syntax Documentation
https://github.com/inkle/ink/blob/master/Documentation/WritingWithInk.md
Official Ink+Unity Integration Documentation
https://github.com/inkle/ink/blob/master/Documentation/RunningYourInk.md
Unity Asset store Integration Plugin
https://assetstore.unity.com/packages/tools/integration/ink-integration-for-unity-60055?srsltid=AfmBOopBXpiMtpNnPtuStua_CCmaQYGsIQ1hVAmuLcFgc4k3ritC83lQ
► OTHER RELATED RESOURCES
Excellent video for an introduction into Unity Events
https://www.youtube.com/watch?v=gx0Lt4tCDE0
Excellent video on Unity's new Input System
https://www.youtube.com/watch?v=m5WsmlEOFiA&t
Unity Lifecycle methods documentation
https://docs.unity3d.com/Manual/ExecutionOrder.html
Excellent video on Unity Prefabs
https://www.youtube.com/watch?v=EH5epbeX3ek
Excellent video covering the basics of Scriptable Objects
https://www.youtube.com/watch?v=aPXvoWVabPY
► TIMESTAMPS
00:00 Intro
01:18 My Previous Ink+Unity Series vs This Video
02:43 How it’s going to work (Disclaimer)
03:06 How it’s going to work (Ink + Unity)
04:51 How it’s going to work (Foundation & Choices)
07:39 How it’s going to work (Triggering Actions)
08:00 How it’s going to work (Conditional Dialogue)
09:00 Ink Editor & Syntax Overview
15:12 Project Overview
17:16 Ink Unity Integration Plugin Installation
17:42 Creating our first Ink file
19:12 Entering Dialogue
22:35 Traversing the Ink Story
24:50 Input Race Condition Explanation
25:40 Race Condition Fix (Quick & Dirty)
26:21 Race Condition Fix (Better)
28:34 Freezing the Player
29:08 Creating the Dialogue Panel UI
33:28 Implementing Choices
42:31 Blank Panel Issue Fix
43:55 Triggering Quests
46:55 Conditional Dialogue
53:19 Notes on Data Persistence
54:10 Supporting multiple Ink Files
56:47 Outro
► GITHUB PROJECT
The '4-dialogue-implemented' branch contains the code by the end of this tutorial.
https://github.com/trevermock/quest-system
► MUSIC
The backing music for this video is by Panda Beats.
Website: https://pandabeatsmusic.com/
YouTube Channel: https://www.youtube.com/@PandaBeatsMusic
Playlist: https://www.youtube.com/watch?v=ejGmSTVKJrU&list=PLPEwKpHq_H2Csme-WtKAON7ha7E4bRhxx
► DISCORD
Come ask questions, suggest a video topic, or just hang out!
📱Discord ➔ https://discord.gg/99gcnaHFf9
► THE PATH OF REN
Wishlist my passion project, The Path of Ren, on Steam!
🎮 Steam (The Path of Ren) ➔ https://store.steampowered.com/app/1619920
► SOCIAL MEDIA LINKS
Follow my current project!
🦋 Bluesky ➔ https://bsky.app/profile/shapedbyrain.bsky.social
📷 Instagram ➔ https://instagram.com/trevermock/
🕑 TikTok ➔ https://tiktok.com/@trevermock
🌐 Website ➔ https://shapedbyrainstudios.com/
► SUPPORT
Any support is much appreciated! I may receive a commission on any assets purchased using the below Unity Asset Store link.
🛍️ Unity Asset Store Affiliate Link ➔ https://assetstore.unity.com/?aid=1100lrxm5
☕ Buy me a coffee! (Ko-fi) ➔ https://ko-fi.com/trevermock
#gamedev #dialogue #unity