Unity Dialogue & Quests: Intermediate C# Game Coding
Implement a Dialogue Editor and Quest System and integrate it into an RPG project.
Using Unity 2020.1, we’ll show you how to include two essential game mechanics, dialogue and quests, in your games.
This highly acclaimed series was over 200% funded on Kickstarter, and is designed for intermediate users of Unity. We recommend you take at least the first half of our Complete Unity Developer 2D or 3D, or equivalent, as a prerequisite.
You can use the dialogue and quest systems together or independently in any game or project you build. We’ll be using an RPG as an example. You don't need to have completed the previous parts of the RPG Series (the RPG Core Combat and Inventory Systems courses) but it will give you an advantage if you already have.
We’ll provide the RPG project created so far in the series so that you can practice integrating to an existing complex project. Every element of the project we touch will be fully explained and no knowledge of the project will be required.
In the course we will be building the following from scratch:
- A node based dialogue editor window
- A ScriptableObject based dialogue asset
- An in game dialogue UI
- Dialogue triggers and condition to integrate with the gameplay
- A quest list with multi-step objectives
- Quest rewards given via the inventory system
In the process of the course we will cover advanced topics such as: IEnumerators, Saving Systems, C# Events, Interfaces and Unity UI.
You will get full lifetime access for a single one-off fee. The creators are qualified and experienced coders and avid gamers, so are able to explain complex concepts clearly, as well as entertain along the way.
You will have access to a course forum where you can discuss topics on a course-wide basis, or down to the individual video. Get plugged into our communities of amazing developers on Facebook (nearly 20k), in our own TA-curated Community (17k views/day), and our student chat group (10k live at any one time).
Dialogues and quests are core to many game genres. So why not join us and get started improving your game development right now?
What you'll learn in this course:
- Implement and lay out your inventory UI (user interface) so that the panels, buttons, slots and icons make sense.
- Use useful UI components like the Scroll View Asset and the Grid Layout Group to more easily structure your inventory UI.
- Use the drag-and-drop system so that players can pick up inventory items and move them to other slots, or drop them into the world.
- Use a pickup system with scriptable objects providing the data for specific inventory items.
- Use and modify the equipping system so that players can equip weapons and armour from their inventory.
- Interface between what the player sees in their inventory and what your backend system knows should be stored in the inventory.
- Use and modify a tooltip system that gives the player information about their inventory items.
- Make items stackable so that if a player has more than one of an item it only takes up one inventory slot and displays how many items have been stacked.
- Refactor your code so that when a new feature is added, it propagates to all areas of your project without breaking your game.
- Build a user interface mockup in Unity before your functionality is in place.
Sam wrote his first game at 14, hacking together little games in Macromedia Flash during his summer holidays. Not long after, he taught himself C++ followed by Python and web programming. He was hooked.
In 2010 he went to study Computer Science at the University of Cambridge and he's been in Cambridge ever since. That is where he caught the entrepreneurial bug and realised he wouldn't want a traditional job for long. So after a few years working in various jobs to get experience, he quit and started burning through his savings looking for his calling.
At the end of 2015, he was coaching some friends to improve their programming skills. Realising how much he loved it, he started creating online courses and reached out to Ben for help. Fast forward and he's part of the GameDev.tv gang and gets to hang out with our awesome community!
Course Curriculum (12+ hours)
StartScriptable Object Primer (12:43)
StartDialogue Scriptable Objects (12:45)
PreviewShowing A Custom Editor (13:17)
StartOpening An Asset Callback (10:20)
PreviewDrawing OnGUI (12:36)
StartCallback Mechanisms (14:17)
StartAdding A Default Node (10:41)
StartEditing Dynamic Data (10:48)
StartImplementing Undo (7:09)
StartStyling Nodes (13:46)
StartDragging Nodes Part 1 (10:02)
StartDragging Nodes Part 2 (12:38)
StartIEnumerables Primer (9:11)
StartDictionaries For Lookups (19:37)
PreviewDrawing Bezier Curves (13:39)
StartAdding Nodes (14:07)
StartDeleting Nodes (6:52)
StartLinking Nodes (8:24)
StartScroll Views (12:18)
StartDrag To Scroll (6:25)
StartCanvas Background (8:59)
StartDialogue Node Scriptable Objects (13:35)
PreviewAsset Database (12:11)
StartSetters, Getters and Undo (22:17)
StartSub Asset SetDirty Bug (3:36)
StartAlternating Speakers (10:21)
Frequently Asked Questions
"Another amazing course from the GameDev.TV team! Sam does an amazing job of guiding you through a complete and efficient Dialogue/Quest system. Lectures are put together very well in terms of length/complexity/and relevance. The challenges are very good and align with what you have learned so far. It is also nice that Sam takes some time here and there to discuss the logic/theory behind what you are about to code/implement instead of just doing it."
"I've completed all the RPG series now and I am very grateful for these courses in my life. Engaging. Inspiring. Relevant. Thank you GameDevTV!"
"An essential purchase. Jam packed with info and an excellent addition to the series. Best to budget 2 or 3 viewings to fully absorb the content."
"This course was challenging for a beginner but it did a great job explaining how the Dialogue/Quest system works. I love Gamedev.tv courses-- they always over-deliver and make me feel much more confident as a developer."
"Great course! I definetely preferred this course to the inventory one, since the method is again writing code with the instructor instead than commenting pre-made code, which I think is more enjoyable, and let you learn more if you are not super-experienced (and I am not). Moreover, it provides a solid dialogue and quest system, and in particular you learn how to expand it. I already made progresses on it, using the means provided by this course. This is what I expect from an intermidiate course, not a complete setup, but the means to expand what is given to you during the class. Excellent!"