<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dialogue System Setup on GS_Play Gameplay Framework</title><link>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/</link><description>Recent content in Dialogue System Setup on GS_Play Gameplay Framework</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/index.xml" rel="self" type="application/rss+xml"/><item><title>Step 1: Create the Database</title><link>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/01_createdatabase/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/01_createdatabase/</guid><description>&lt;h1 id="step-1--create-the-database"&gt;Step 1 — Create the Database&lt;/h1&gt;
&lt;h2 id="open-the-dialogue-editor"&gt;Open the Dialogue Editor&lt;/h2&gt;
&lt;p&gt;From the O3DE Editor menu bar, go to &lt;strong&gt;GS Tools &amp;gt; Dialogue Editor&lt;/strong&gt;. The editor opens with three page tabs at the top: &lt;strong&gt;Sequences&lt;/strong&gt;, &lt;strong&gt;Performers&lt;/strong&gt;, and &lt;strong&gt;System&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="create-a-new-database"&gt;Create a New Database&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;File &amp;gt; New&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Choose a save location in your project&amp;rsquo;s assets folder (e.g., &lt;code&gt;Assets/Dialogue/&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Name the file (e.g., &lt;code&gt;town_npcs.dialoguedatabase&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;The editor opens with an empty database&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="define-performers"&gt;Define Performers&lt;/h2&gt;
&lt;p&gt;Switch to the &lt;strong&gt;Performers&lt;/strong&gt; page by clicking the tab at the top.&lt;/p&gt;</description></item><item><title>Step 2: Author a Conversation</title><link>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/02_authorconversation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/02_authorconversation/</guid><description>&lt;h1 id="step-2--author-a-conversation"&gt;Step 2 — Author a Conversation&lt;/h1&gt;
&lt;h2 id="build-a-linear-sequence"&gt;Build a Linear Sequence&lt;/h2&gt;
&lt;p&gt;With the &lt;code&gt;MerchantGreeting&lt;/code&gt; sequence open, you have a Start node on the canvas. Now add dialogue nodes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;From the &lt;strong&gt;Node Palette&lt;/strong&gt; (right dock), drag a &lt;strong&gt;Text&lt;/strong&gt; node onto the canvas&lt;/li&gt;
&lt;li&gt;Connect the Start node&amp;rsquo;s &lt;strong&gt;FlowOut&lt;/strong&gt; slot to the Text node&amp;rsquo;s &lt;strong&gt;FlowIn&lt;/strong&gt; slot by clicking and dragging between the slots&lt;/li&gt;
&lt;li&gt;Select the Text node and set its properties in the &lt;strong&gt;Inspector&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Speaker&lt;/strong&gt;: &lt;code&gt;&amp;quot;Merchant&amp;quot;&lt;/code&gt; (matches your performer name)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Text&lt;/strong&gt;: &lt;code&gt;&amp;quot;Welcome to my shop! Looking for something special?&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="add-more-lines"&gt;Add More Lines&lt;/h2&gt;
&lt;p&gt;Repeat the process to add a second Text node for the player&amp;rsquo;s response:&lt;/p&gt;</description></item><item><title>Step 3: Wire Up the Runtime</title><link>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/03_runtimesetup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/03_runtimesetup/</guid><description>&lt;h1 id="step-3--wire-up-the-runtime"&gt;Step 3 — Wire Up the Runtime&lt;/h1&gt;
&lt;p&gt;The Dialogue Editor is for authoring. To play dialogue at runtime, you need three components on entities in your level.&lt;/p&gt;
&lt;h2 id="the-dialogue-manager"&gt;The Dialogue Manager&lt;/h2&gt;
&lt;p&gt;The Dialogue Manager is a GS_Play manager that owns the active dialogue database and provides the top-level API.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Your Game Manager prefab should already spawn a &lt;strong&gt;GS_DialogueManager&lt;/strong&gt; (it is part of the GS_Cinematics manager set)&lt;/li&gt;
&lt;li&gt;If not, create a manager entity and add the &lt;code&gt;GS_DialogueManagerComponent&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;In the component properties, set the &lt;strong&gt;Dialogue Database&lt;/strong&gt; field to your &lt;code&gt;.dialoguedatabase&lt;/code&gt; asset&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The manager provides the entry point API: &lt;code&gt;StartDialogueSequenceByName(&amp;quot;MerchantGreeting&amp;quot;)&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Step 4: Display Dialogue In-Game</title><link>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/04_dialogueui/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/04_dialogueui/</guid><description>&lt;h1 id="step-4--display-dialogue-in-game"&gt;Step 4 — Display Dialogue In-Game&lt;/h1&gt;
&lt;h2 id="dialogue-ui-component"&gt;Dialogue UI Component&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;DialogueUIComponent&lt;/code&gt; handles displaying dialogue text on screen. It receives text from the UI Bridge and shows it in a UI element.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a UI canvas with a text panel for dialogue display (speaker name label + dialogue text area)&lt;/li&gt;
&lt;li&gt;On the UI entity, add a &lt;code&gt;DialogueUIComponent&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Register the UI entity with the bridge by calling &lt;code&gt;RegisterDialogueUI(panelType, entityId)&lt;/code&gt; or by placing it where the bridge can discover it&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When a Text node executes, the sequencer sends the speaker name and dialogue text through the bridge to the UI component, which updates the display.&lt;/p&gt;</description></item><item><title>Step 5: Add Player Choices</title><link>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/05_playerchoices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/05_playerchoices/</guid><description>&lt;h1 id="step-5--add-player-choices"&gt;Step 5 — Add Player Choices&lt;/h1&gt;
&lt;h2 id="add-a-selection-node"&gt;Add a Selection Node&lt;/h2&gt;
&lt;p&gt;Go back to the Dialogue Editor and open your &lt;code&gt;MerchantGreeting&lt;/code&gt; sequence.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Delete the connection between the merchant&amp;rsquo;s greeting and the player&amp;rsquo;s response&lt;/li&gt;
&lt;li&gt;Drag a &lt;strong&gt;Selection&lt;/strong&gt; node from the palette and place it between them&lt;/li&gt;
&lt;li&gt;Connect the merchant&amp;rsquo;s Text node FlowOut to the Selection node&amp;rsquo;s FlowIn&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="configure-choices"&gt;Configure Choices&lt;/h2&gt;
&lt;p&gt;Select the Selection node. In the Inspector:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set &lt;strong&gt;Question Text&lt;/strong&gt; to &lt;code&gt;&amp;quot;What would you like to do?&amp;quot;&lt;/code&gt; (optional — displayed above the choices)&lt;/li&gt;
&lt;li&gt;Add options in the &lt;strong&gt;Selection Options&lt;/strong&gt; list:
&lt;ul&gt;
&lt;li&gt;Option 1: &lt;code&gt;&amp;quot;Browse your wares&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Option 2: &lt;code&gt;&amp;quot;Tell me about the town&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Option 3: &lt;code&gt;&amp;quot;Goodbye&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Each option creates a dynamic FlowOut slot on the node.&lt;/p&gt;</description></item><item><title>Step 6: Conditions and Effects</title><link>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/06_conditionseffects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/learn/lessons/dialogue_setup_tutorial/06_conditionseffects/</guid><description>&lt;h1 id="step-6--conditions-and-effects"&gt;Step 6 — Conditions and Effects&lt;/h1&gt;
&lt;h2 id="using-variables"&gt;Using Variables&lt;/h2&gt;
&lt;p&gt;Declare variables in the &lt;strong&gt;Variable Panel&lt;/strong&gt; to track dialogue state:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Variable Panel dock&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add&lt;/strong&gt; and create a boolean variable: &lt;code&gt;&amp;quot;hasVisitedMerchant&amp;quot;&lt;/code&gt; (default: false)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="conditions-on-nodes"&gt;Conditions on Nodes&lt;/h2&gt;
&lt;p&gt;Any dialogue node can have conditions that gate whether it executes. If conditions fail, the evaluator skips that node and tries the next connection.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select a Text node in the inspector&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Conditions&lt;/strong&gt; section, click the type picker dropdown&lt;/li&gt;
&lt;li&gt;Add a &lt;code&gt;Boolean_DialogueCondition&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Set:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Variable Name&lt;/strong&gt;: &lt;code&gt;&amp;quot;hasVisitedMerchant&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expected Value&lt;/strong&gt;: &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now that Text node only executes if the player has visited before. You can create two branches from a single output — one with &lt;code&gt;hasVisitedMerchant = true&lt;/code&gt; and one without conditions as a fallback.&lt;/p&gt;</description></item></channel></rss>