dess • can’t
- an independent treble melody sung or played above a basic melody.
- a melodious song.
- a discourse on a theme.
Descant is a Unity 2022.3.x dialogue system plugin. The Unity Asset Store is chock full of many such types of plugins, ranging from feature-rich, to ultra-minimalist, to downright bad. Descant aims to hit the sweet spot between quality UI, powerful features, and easy-to-lean functionality, while also addressing many of the game-specific consequences of the standard dialogue manager setup. Besides acting as a standard tool for creating, saving, and actualizing non-linear game dialogue, it also pushes the envelope by adding optional dialogue-enhancing node components that introduce features to break away from the overused and underwhelming trends seen in many interactive fiction games. These enhancements act similar to Unity’s standard GameObject
Component
system, and can be applied at-will to nodes. This modular approach is so-far not explored in the world of Unity dialogue systems. The project will be free (and collaborative open-source) forever. Feel free to send me a message or submit a pull request if you want to make any changes.
Packages
folder.Descant/Examples/Test_Scene.unity
.Create/Descant Graph
.Descant Graph
file, and selecting Edit Descant Graph
.Create/Descant Actor
.DescantLogData
file exists in the Descant/Resources
folder. Please don't delete it!Descant/Graph Editor
or by creating/editing a Descant Graph file.ChoiceNode
s represent player choices at certain moments within the dialogue, and ResponseNode
s represent the NPC’s responses or statements.DescantActor
’s property (statistic, topic, or relationship value) to show up within a ChoiceNode
or ResponseNode
's text, write {actor_name:property_name}
, and Descant will inject the first property it finds with the name property_name
right into it. (see the below for more info on DescantActor
s).IfNode
s represent junctions in the flow of the dialogue, and can be used quite powerfully. They function similarly to Components
(see below), and are thus not recommended for beginners.StartNode
represents the place where a given dialogue begins, and EndNode
s represent where it can end.Components
(see the Component documentation for more info on each default component, as well as how to write your own).ConversationUI
prefab from the Descant/Assets
folder into your Unity scene (you may have as many ConversationUI
s as you want in the same scene, and you may modify their text and UI styles as much as you want, so long as the DescantConversationUI
's inspector assignments don’t get broken).Event System
object to your scene (Create/UI/Event System
), if you don't already have one.DescantDialogueTrigger
script to a GameObject of your choice, and assign its fields (hover over each field to see a popup of its description) (you may have as many DescantDialogueTrigger
s as you want in the same scene).Display()
method in the DescantDialogueTrigger
script to begin the dialogue (e.g. when the player presses [E]
, when a Button
is clicked, etc.).Descant/Log
.Capture
toggle on to start capturing events as they happen at runtime.Descant/Resources
!README