Visual Logic Workflow

Connect graphs to behavior through DreamBehavior, map events, dialogue choices, or Godot signals.

v0.9.4Godot 4.7 stable4.6.3 supportedCurrent
This page summarizes the current v0.9.4 workflow and keeps Early Access boundaries clear.
Public user route: follow this in small steps. After each meaningful change, run a validation check or Quick Play before adding the next system.

Visual Logic integration: how a graph becomes behavior

A Visual Logic graph becomes game behavior only after three things exist: a trigger, an assigned graph, and a target object that can run it.

Object existsTrigger happensDreamBehavior / event calls graphGraph checks conditionsGraph performs actionsFeedback/state updates
Graph typeUse it forExample
Input graphPlayer buttonsAttack, interact, dash
Interaction graphNPC/chest/door behaviorTalk, open, unlock, give item
Quest graphStarting/completing objectivesAccept quest, update objective, give reward
Combat graphDamage and deathHit enemy, reduce HP, die, drop reward
AI graph/FSMEnemy behaviorIdle, chase, attack, return, dead
UI graphFeedback and HUD updatesHP bar, quest text, notification

Attachment methods

DreamBehavior

Attach a saved .dcs graph to an object that should run logic.

Map event

Use an event template such as NPC, chest, door, pickup, trigger, or damage tile.

Dialogue choice

Use Narrative Weaver choice output to call a graph, set state, or start a quest.

Area/signal

Use collision/Area2D signals to start pickup, trap, region, or detection logic.

Visual Logic basics

Visual Logic lets you create gameplay behavior by connecting triggers, conditions, actions, variables, and feedback without writing GDScript.

Beginner mental model:

When this happens
→ Check this condition
→ Do this action
→ Show feedback
→ Save
→ Quick Play
TermMeaning
TriggerThe thing that starts logic. Example: player interacts, actor enters area, timer ends.
ConditionA check before an action. Example: player has key, quest is active, variable is true.
ActionWhat happens. Example: show dialogue, give item, open door, play sound.
Variable / switchA remembered value used by logic. Example: chest opened, quest started, door unlocked.
SequenceA saved chain/graph of logic steps.
FeedbackSound, VFX, UI text, animation, camera shake, or other response that tells the player something happened.

Visual Logic templates as starting points

Visual Logic templates are small behavior patterns. Use them as a starting graph, then connect the graph to a real trigger, a condition, an action, feedback, and a state change.

Template patternUse it forExpected result in Godot
InteractionNPC talk, sign reading, door check, save point.Interacting with an Area or event runs the graph once.
PickupCoins, keys, items, rewards.The item disappears or changes state, inventory/currency updates, and feedback plays.
Damage zoneHazards, traps, spikes, lava, enemy contact.Entering the area changes HP or state and shows feedback.
Dialogue choiceBranching NPC choices, accept quest, reject quest, shop option.Choosing an option changes variable/switch/quest state.
Quest stateStart, update, complete, unlock, reward.Quest UI or NPC behavior changes after the state update.

What you should see: a saved graph/resource, a node or map event pointing to it, a clear trigger signal, visible feedback during Quick Play, and a changed state if the graph is supposed to remember progress.

Visual Logic practical tutorials

NPC dialogue

  1. Place or select an NPC/interactable object.
  2. Create or assign a dialogue resource.
  3. Add a Visual Logic sequence: When player interacts → Show dialogue.
  4. Save and Quick Play.

Locked door

  1. Place a door or transfer event.
  2. Create a key item resource.
  3. Create a Visual Logic sequence: When player interacts → Check key item → Open door or show locked message.
  4. Validate missing item/scene references.

Chest reward

  1. Create an item resource.
  2. Place a chest event.
  3. Add logic: Interact → If not opened → Give item → Play sound/VFX → Set opened true.
  4. Validate the item reference and test twice to confirm it does not give infinite rewards unless intended.

Quest start

  1. Create a quest resource.
  2. Create an NPC dialogue.
  3. Add logic: Talk to NPC → Start quest → Show objective → Update quest log.
  4. Validate quest references and rewards.

Damage zone

  1. Place an Area2D/Area3D or map danger region.
  2. Add logic: Actor enters → Deal damage → Play effect.
  3. Validate collision layers and test in Quick Play.