Dreamcatcher Docs
User GuideGodot 4.7 stable / 4.6.3Early Access

#Dreamcatcher User Guide

Learn Dreamcatcher from first install to a connected playable Godot project: player, input, map, collision, Visual Logic, Narrative Weaver, quests, enemies, combat, HUD feedback, validation, and export preparation.

This guide combines a beginner-friendly game creation course with reference sections for tools, workflows, resources, modules, troubleshooting, and safe large-project planning.

v0.9.4Early Access
4.7 / 4.6.3Engine Targets
866Addon files
729.gd scripts
337Classes
113Custom Types
24Tools
42 + UNIVGenre DNA
18Generated Types
47Resources
50Modules
154Templates

#About this guide

For Godot users who want to create games visually, learn step by step, and still keep full access to Godot-native workflows.

Product: Dreamcatcher v0.9.4 Early Access
Engine target: Godot 4.7 stable compatibility-targeted; Godot 4.6.3 supported
Creator: Journey Beyond Horizons / JBH PRODS
Guide type: User guide, tutorials, and reference

Use this guide to install Dreamcatcher, build your first playable scene, understand the main tools, create maps and interactions, manage generated assets, validate your project, and prepare for export.
Begin with the first-day tutorials, then use the reference sections when you need exact tool, resource, module, or workflow details.

#At a glance

AreaWhat it means
Dreamcatcher versionv0.9.4 Early Access
Godot versionGodot 4.7 stable compatibility-targeted; Godot 4.6.3 supported
Best starting pointInstall the plugin, open the Dreamcatcher dock, then follow the first playable scene tutorial.
Main workflowCreate a scene → add data/resources → connect logic → add feedback → validate → test → prepare export.
Featured tools24 editor tools for maps, UI, visual logic, narrative, generated assets, validation, export preparation, and more.
Genre helpersUniversal profile plus 42 genre DNA profiles for starting different kinds of projects.
Generated assetsMaps, sprites, icons, audio, VFX, palettes, dialogue UI, database resources, and other project assets.
Important boundaryGenerated assets and assignments are not automatic runtime guarantees; validate and test the result in Godot.
Asset rightsUse only assets you created, own, or are licensed to use.

#Version and scope

This guide is written for Dreamcatcher v0.9.4 Early Access on Godot 4.7 stable and Godot 4.6.3. It explains how to install the plugin, build starter scenes, connect the main tools, manage generated assets, validate projects, and prepare exports using normal Godot workflows.

Dreamcatcher helps you move faster inside Godot, but it does not remove the need to test your project. Exact editor labels can vary slightly between builds, generated assets may still require manual wiring, and final exports still depend on Godot export templates, platform requirements, signing, accounts, and project-specific testing.

#Documentation and version-history map

This public guide matches the current Dreamcatcher v0.9.4 package: 866 addon files, 729 GDScript files, 13 Markdown documentation files, and complete release notes from v0.9.0 through v0.9.4.

Current package note: this guide and README.md describe the current Dreamcatcher v0.9.4 package inventory. Older notes or summaries may describe earlier builds.

Developer QA checklists and internal audit/implementation reports are maintained outside the public addon package. Buyers should use this manual, the compatibility notes, the changelog, the current release notes, and normal Godot project testing.

Document Use it for
README.mdCurrent package inventory, installation notes, scope, and support information.
Documentation.htmlShort bundled package documentation overview.
RELEASE_NOTES_v0.9.0.mdFirst public beta / founder build history.
RELEASE_NOTES_v0.9.1.mdFirst stability, bug-fix, and Godot 4.6.2 compatibility pass.
RELEASE_NOTES_v0.9.2.mdFoundation, metadata clarity, project-owned path discipline, and validation groundwork.
RELEASE_NOTES_v0.9.3.mdTileMapLayer maps, map events, regions, encounter/music/weather/collision/navigation workflows.
RELEASE_NOTES_v0.9.4.mdGenerated asset registry/browser, generated database and map outputs, assignment metadata, validator reliability, and Godot 4.7 stable compatibility-targeted support.
COMPATIBILITY.mdGodot 4.7 / 4.6.3 compatibility notes and Early Access boundaries.
CHANGELOG.mdChronological version history.
GUARANTEES.mdProject ownership, portability, and public guarantees.
EXTENSIBILITY.mdExtension points and advanced integration notes.
BRAND_NOTICE.mdBrand and third-party affiliation guidance.
THIRD_PARTY_NOTICES.mdThird-party rights and compatibility notices.

#Roadmap after v0.9.4

Roadmap note: these are planned improvements after v0.9.4. They are not current v0.9.4 guarantees.

Future version Public summary Current boundary
v0.9.5Planned game-feel and workflow improvements that make scenes feel more connected through easier HUD, audio, VFX, animation-event, accessibility, and localization workflows.Current v0.9.4 stores assignment metadata and safe Apply/Assign workflows; full automatic runtime binding is planned for later 0.9.x work.
v0.9.6Playable project builders.Builds reliable first-playable starter projects from existing templates, maps, database resources, UI, logic, generated assets, and validators. Genres should not widen before a few builders are reliable.
v0.9.7Database, relationship graph, and logic integration.Connects generated/editable database content across maps, UI, Visual Logic, formulas, quests, loot, actors, enemies, shops, dialogue, and validation.
v0.9.8Hardening, export preflight, migration, bake, packs, performance, and networking status-label and reliability review.Focuses on lifecycle, packaging, migration, portability, preflight, performance budgets, and accurate networking status labels.
v0.9.9Beta-readiness freeze and public ID/data-format freeze.Stabilizes public IDs, data formats, paths, records, module manifests, template IDs, database IDs, visual logic IDs, migration IDs, and builder output formats before v1.0.0.
v1.0.0 pathBeta, release-candidate, and stable release-readiness.Focuses on stability, supportability, documentation, packaging, compatibility notes, and final distribution checks.

#How Dreamcatcher connects to Godot

Dreamcatcher adds editor tools and runtime helpers on top of normal Godot projects. You still work with familiar Godot concepts: scenes, nodes, resources, signals, input actions, TileMapLayer, project settings, and exported builds. Dreamcatcher’s purpose is to connect those pieces into faster workflows for game creation.

ToolNodeResourceGenerated assetModuleAutoload serviceValidatorQuick Play
LayerPlain meaningWhere you meet itWhy it matters
ToolAn editor panel that helps you create or edit content.Map Editor, Scene Composer, UI Builder, Narrative Weaver, Visual Logic, Sound Studio, Generated Asset Browser.Tools speed up work, but the result still becomes Godot scenes, nodes, resources, files, or settings.
NodeA Godot object placed in a scene tree.Player, NPC, trigger area, hitbox, HUD, dialogue box, map helper, cinematic camera helper.Runtime behavior usually happens through nodes in a scene.
ResourceA saved data file used by scenes and tools.Actor data, item data, skill data, quest data, dialogue data, tileset data, generated asset metadata.Resources keep game data editable without hardcoding every value in scripts.
Generated assetA file or record created by a generator or converter.Sprites, icons, maps, SFX, music, VFX, palettes, loot tables, name tables, database resources.Generated content should be reviewed, assigned, validated, and tested like any other project content.
ModuleA feature group that controls related tools, custom nodes, services, and validation rules.Module Manager, custom node visibility, optional genre systems.If a tool or custom node is missing, the related module may be disabled.
Autoload serviceA runtime service Godot loads automatically when the project starts.Audio, input, dialogue, scene flow, transitions, event bus, weather, accessibility, screen effects.Services support runtime features behind the scenes. Most users configure features through tools, nodes, and resources instead of editing service scripts.
ValidatorA check that finds missing references, unsafe setup, or incomplete workflow steps.Content Validator, map validation, generated asset validation, export preflight.Validation helps catch problems before they become confusing runtime bugs.
Quick PlayA short test run of the current scene or workflow.After creating a scene, graph, event, generated asset, UI, or map.Small test runs confirm behavior before your project becomes large.

Safe beginner rule: start with tools, scenes, nodes, resources, Inspector fields, Validator, and Quick Play. Avoid editing files inside addons/dreamcatcher/ unless you are intentionally extending the plugin and have backed up your project.

#How to use this documentation

This page is long because Dreamcatcher is a large toolkit. You do not need to read everything at once. Use the route that matches what you are trying to do today.

#New to Godot

Start with the first-day learning path, the small dictionary, and Scenario A.

Start here →

#Building your first scene

Use the click-by-click tutorial cards and stop after one working interaction.

Build Scenario A →

#Building a complete loop

Use the integrated course to connect player, input, map, Visual Logic, dialogue, quests, enemies, combat, HUD, state, validation, and Quick Play.

Start the full loop course →

#Making the loop feel alive

After the core loop works, add audio, music, animation, VFX, UI feedback, camera beats, and cinematics.

Open the feedback course →

#Making a platformer

Follow the vertical-slice route: spawn, camera, pickup, hazard, checkpoint, exit, HUD, validation.

Open Scenario B →

#Using one tool

Open the starter path table to see what to click first in every featured tool.

Tool starter paths →

#Looking up facts

Use the reference section for tool names, resource types, generated asset categories, modules, custom nodes, and DNA profiles.

Reference →

#Something broke

Use validation, troubleshooting, and the support report template before changing many things at once.

Troubleshooting →

Best learning rule: make a small prototype first: one scene, one player, one object, one reaction, one validation test, and one Quick Play test. Grow the game only after that loop works.

#Welcome to Dreamcatcher

Dreamcatcher is a no-code / low-code game creation toolkit for Godot 4.7 stable and Godot 4.6.3. It adds a large set of editor tools, visual logic workflows, genre helpers, templates, game-data resources, generated asset management, validation tools, and export-preflight helpers on top of normal Godot projects.

The purpose of Dreamcatcher is not to hide Godot from you. It is to help you move faster inside Godot: create a scene, choose a genre direction, generate or organize content, add interactions, test quickly, and keep your work as project-owned Godot scenes/resources instead of locked proprietary data.

The best first goal is simple: create one small playable scene, add one interaction, validate it, and run Quick Play. After that, you can grow into maps, generated assets, database resources, UI, narrative, audio, VFX, Visual Logic, genre starter workflows, and advanced project management tools.

#Read this first if Dreamcatcher feels overwhelming

Dreamcatcher is large, but you do not need to learn everything at once. Your first goal is not to master all tools. Your first goal is to create one small playable scene.

Use this order:

  1. Choose a Genre DNA: pick a direction such as Universal, Platformer, Action RPG, or Visual Novel.
  2. Create or open one small scene: use Scene Composer or a safe test scene.
  3. Add one interaction: use Visual Logic, Map Editor, or a simple event.
  4. Validate it: use Content Validator and read warnings.
  5. Test it with Quick Play: confirm the interaction works.

Ignore everything else until your first scene works.

After your first scene works, choose only one next path:

Your next goal Learn next
Make a map Map Editor
Add items, enemies, quests, or shops Database
Add dialogue or branching choices Narrative Weaver
Add menus, HUD, or interface UI Builder
Generate assets Generated Asset Browser and Procedural Toolkit
Prepare a build Export Manager and Export Preflight

#Role-based learning paths for every experience level

Different users should read this guide differently. A total beginner should not follow the same path as a technical user or project integrator.

User typeStart hereThen learnAvoid first
Total Godot beginnerInstall → first 10 minutes → first playable scene → too many nodes survival sectionMinimum node path, Visual Logic basics, ValidatorFull node reference, networking, advanced managers
Beginner game makerDream DNA → Scene Composer → Map Editor → one trigger → one Visual Logic graphUI feedback, Narrative Weaver, generated asset workflowLarge genre systems before one vertical slice works
Intermediate Godot userCustom node overview → Visual Logic integration → Map eventsCustom node reference, resource reference, export preflightEditing autoloads before understanding runtime services
Designer / writerNarrative Weaver → quest/dialogue workflows → map event linksVisual Logic trigger/condition/action patternCombat internals, low-level scripts
Technical artist / UI designerUI Builder → generated assets → audio/animation/VFX feedback stackAssignment keys, validation, export checksLarge gameplay managers before visual feedback works
Advanced or team projectArchitecture sections → custom nodes → Visual Logic reference → large-project planningBake/export/validation, replace-or-harden decisionsTreating Early Access runtime systems as final production infrastructure without QA

#Learning paths: choose your starting route

Use these routes instead of reading the whole manual from top to bottom.

#What Dreamcatcher is and is not

#Dreamcatcher is

  • A Godot 4.7 stable / 4.6.3 plugin for visual/no-code-friendly game creation.
  • A collection of editor tools for scenes, maps, UI, narrative, sound, animation, asset generation, validation, modules, and export preparation.
  • A project-content workflow: generated outputs should be saved into your project under res://dream/..., not into the plugin folder.
  • A low-code bridge: beginners can start visually, while advanced users can still use Godot scenes, resources, nodes, scripts, and normal export workflows.
  • An Early Access v0.9.4 package focused especially on the generated asset registry/browser and project-owned generated-content workflow.

#Dreamcatcher is not

  • Not an automatic shortcut that ships a complete commercial game.
  • Not a replacement for every part of Godot.
  • Not a guarantee that every platform export is turnkey.
  • Not an asset-rights provider for third-party artwork.
  • Not a v1-stable API promise yet.
  • Not a full v0.9.5 runtime-binding release for every generated UI/audio/VFX/animation case.

#Early Access scope and boundaries

Dreamcatcher v0.9.4 should be presented as an Early Access generated-asset pipeline release. The central v0.9.4 improvement is that generated outputs can become registry-tracked project content with metadata, preview information, reports, paths, validation state, dependencies, generation presets, and assignment metadata.

In practical terms, v0.9.4 means:

Dreamcatcher v0.9.4 helps you create scenes, maps, game data, generated assets, UI, audio, VFX, and validation workflows while keeping generated content inside your project folders.

Important boundaries:

  • Direct regeneration is available for supported stored dungeon/map/overworld presets. Other asset types may be inspectable, duplicateable, assignable, exportable, or validatable, but not necessarily directly regenerable.
  • Apply/Assign can write safe metadata and supported fields to known Dream resources. Some assignments are metadata-only so the asset can be traced and validated.
  • Full runtime binding for every generated audio/VFX/UI/animation case is a later-scope concern, not a v0.9.4 promise.
  • Export Manager and Export Preflight help prepare for Godot export. They do not remove the need for Godot export templates, SDKs, platform accounts, platform-holder approval, or normal platform requirements.

#Known limitations in v0.9.4

Dreamcatcher v0.9.4 is an Early Access release. The documentation is written to help you build safely without promising that every advanced system is finished or automatic.

#Exact UI labels may differ

Small button, tab, or dock labels can change between builds. Follow the tool name and nearby label if your screen is slightly different.

#Generated asset assignment is not automatic

Some Assign/Apply actions write supported fields and metadata only. Full runtime binding for every audio, VFX, UI, and animation case is not guaranteed in v0.9.4.

#Export still uses Godot export rules

Export Manager can help prepare and check a project, but platform templates, signing, SDKs, store rules, and Godot export settings still matter.

#Networking is advanced

Networking-related systems should be treated as advanced foundations unless you have tested authority, latency, lobbies, persistence, security, and platform behavior.

#Use licensed assets only

Dreamcatcher can help organize or import assets, but it does not grant rights to third-party art, audio, fonts, tilesets, or proprietary game assets.

#Validate before growing

Run Content Validator and Quick Play after small changes. Do not stack many systems before confirming the last step works.

#Status labels used in this guide

Label Meaning
Stable Intended for normal use in v0.9.4, but still validate and test.
Beta Usable but evolving; verify before relying on it heavily.
Early Access foundation Foundation systems exist, but complete workflows may require manual Godot setup.
Metadata-only Dreamcatcher can track or write assignment metadata, but full runtime behavior is not guaranteed.
Requires Godot setup Dreamcatcher can help prepare content, but official Godot templates, SDKs, accounts, or platform settings may still be required.

#Requirements and installation

#Requirements

  • Godot 4.7 stable is the compatibility target for new projects. Godot 4.6.3 remains supported for existing 4.6.x projects.
  • A Godot project. First-time users should start in a clean test project before using Dreamcatcher inside an existing project.
  • The addons/dreamcatcher/ folder from the Dreamcatcher release.
  • No third-party Godot add-on is required by the plugin files themselves.
  • Exporting still requires the normal Godot export templates and platform-specific requirements.

#Install Dreamcatcher

  1. Create or open a Godot 4.7 stable project. Godot 4.6.3 is also supported.
  2. Copy the plugin folder into your project so the path is exactly:
your_project/
├── addons/
│  └── dreamcatcher/
│    ├── plugin.cfg
│    └── plugin.gd
├── project.godot
└── ...
  1. Open the project in Godot.
  2. Go to Project → Project Settings → Plugins.
  3. Enable Dreamcatcher.
  4. Restart Godot if panels do not appear immediately.

Common mistake: double nesting. This is wrong:

addons/dreamcatcher/dreamcatcher/plugin.cfg

Correct path:

addons/dreamcatcher/plugin.cfg

#Verifying installation

After enabling the plugin, check for Dreamcatcher editor surfaces such as the main Dreamcatcher / Almanac workspace, Dream Board, Dream DNA, Dream Console, Dream Inspector, Quick Play controls, and the visible editor tools. The exact layout can vary depending on Godot editor layout, enabled modules, and whether the plugin is in headless/no-autoload mode.

The plugin registers 28 autoloads unless dreamcatcher/advanced/no_autoload_mode is enabled. It also registers 113 custom node types gated by the module manifest. If something appears missing, check the Module Manager and advanced no-autoload setting before assuming the plugin is broken.

Recommended first verification checklist:

  • The plugin appears in Project Settings → Plugins and can be enabled.
  • Dreamcatcher UI panels appear after enabling or after restarting Godot.
  • No critical errors appear in the Godot output panel.
  • Quick Play controls are visible or available from the Dreamcatcher workflow.
  • A clean project can open the Dreamcatcher workspace.
  • The Module Manager shows expected modules as enabled.

#What you should see after installing

  • Dreamcatcher appears in Project Settings → Plugins and can be enabled.
  • Dreamcatcher docks/tools appear once after the editor reloads.
  • New Dreamcatcher custom nodes are searchable in the Godot node dialog when their modules are enabled.
  • Autoload services appear in Project Settings → Autoload unless advanced no-autoload mode is intentionally used.
  • The Godot Output panel should not show parse errors when the plugin loads.

#Your first 10 minutes

Do not try to learn all 24 tools immediately. The first 10 minutes should build orientation and confidence.

  1. Open the Dreamcatcher workspace or Almanac.
  2. Choose Universal, Platformer, or Action RPG as your first Genre DNA.
  3. Open Scene Composer and create or inspect a small scene/template.
  4. Open Generated Asset Browser so you know where generated outputs will appear.
  5. Open Content Validator so you know where warnings and readiness checks appear.
  6. Run or prepare to run Quick Play on a small test scene.

Success is not “I understand everything.” Success is “I know where to start, where generated content goes, and where to test/fix problems.”

#Build your first playable scene

#What you will make

A small scene with one playable interaction. Use Platformer, Action RPG, Top-down Adventure, or Universal depending on your comfort level.

#Steps

  1. Create a clean test project in Godot 4.7 stable. Godot 4.6.3 is also supported.
  2. Install and enable Dreamcatcher.
  3. Choose a beginner-safe Genre DNA: Universal, Platformer, or Action RPG.
  4. Open Scene Composer and create a starter scene or blank safe test scene.
  5. Add one player/actor or use the template-provided actor.
  6. Add one simple interaction: a door, chest, pickup, NPC dialogue, trigger, or test area.
  7. If useful, generate one icon, sound, map, dungeon, loot table, or database resource and save it as project-owned content.
  8. Run Content Validator and read warnings carefully. Fix one warning if possible.
  9. Run Quick Play and confirm the interaction works.
  10. Save the scene and continue into maps, Visual Logic, UI, audio, or a genre starter workflow.

#First success criteria

  • You created or opened one scene.
  • You added or checked one interaction.
  • You know where the project-owned output was saved.
  • You validated the scene or asset.
  • You tested the result in Quick Play or normal Godot play mode.

#Interface tour

Dreamcatcher is easier to learn when you think in workspaces, not files.

Area What it is for
Almanac Central knowledge and database hub. Use it to navigate creation, content, and management workflows.
Dream DNA / Genre DNA Chooses a genre-oriented workspace direction, templates, and recommendations.
Scene Composer Creates, browses, duplicates, and exports scenes from template entries.
Visual Logic Builds no-code logic using triggers, conditions, actions, variables, and sequences.
Generated Asset Browser Shows generated outputs and lets you inspect, validate, assign, duplicate, delete, and regenerate supported assets.
Content Validator Finds missing references, resource problems, map/template issues, and project readiness problems.
Quick Play Tests the current scene/game flow quickly.
Module Manager Shows enabled/disabled modules and explains missing features or custom types.

#How nodes connect to Visual Logic, tools, and Godot

Dreamcatcher has several layers. The mistake beginners make is thinking every layer must be touched manually. Most of the time, tools create or guide the setup, while runtime nodes run the result.

Tool or templateGodot scene nodeDreamBehavior / TriggerVisual Logic sequenceGame feedback
LayerWhat it isBeginner action
Godot sceneThe real level, player, camera, UI, and objects.Open scenes normally in Godot and test often.
Dream custom nodeRuntime node provided by Dreamcatcher, such as DreamActor2D or DreamTrigger2D.Add only the few nodes needed by a tutorial.
Visual Logic graphA saved sequence that decides what happens.Make one graph that shows a message, gives an item, opens a door, or updates a quest.
DreamBehaviorThe bridge that lets an object run a Visual Logic sequence.Attach it to one door/chest/NPC/object first.
Autoload serviceA behind-the-scenes global service such as event, save, audio, or state helpers.Do not edit directly unless troubleshooting.
ValidatorA checker that finds missing links, broken assignments, and unsafe setup.Run it before growing the project.

Metaphor: Godot nodes are the machines, Visual Logic is the wiring, DreamBehavior is the plug socket, and Dreamcatcher tools are the workshop that helps you place everything without starting from an empty warehouse.

#Minimum node path: from empty scene to one working loop

These are the smallest scene-tree recipes to understand how Dreamcatcher nodes, Visual Logic, and Godot scenes connect. Build one small loop first, then expand.

#Recipe A: interaction loop

Main
  ├── Player: DreamActor2D
  ├── Door: Node2D
  │   ├── DreamInteractable2D
  │   └── DreamBehavior
  └── UI

Meaning: DreamInteractable2D detects the player interaction. DreamBehavior runs the assigned Visual Logic / DreamSequence. Use this for doors, chests, signs, NPCs, pickups, and simple quest steps.

  1. Create a small level scene.
  2. Add a player from a template or DreamActor2D.
  3. Add a door/chest/sign object.
  4. Add DreamInteractable2D and a collision shape.
  5. Add DreamBehavior under the object and assign a sequence.
  6. Test the interaction before adding combat, quests, or UI complexity.

#Recipe B: trigger loop

Main
  ├── Player: DreamActor2D
  └── IntroTrigger: DreamTrigger2D
      └── CollisionShape2D

Meaning: DreamTrigger2D detects entry/touch/action and starts a sequence or event. Use it for tutorial popups, room intros, traps, region music, story triggers, or objective updates.

  1. Add the trigger area.
  2. Add a CollisionShape2D.
  3. Assign the sequence or event to run.
  4. Keep it one-shot until the first test works.
  5. Use the validator if nothing happens.

#Recipe C: combat loop

Main
  ├── Player: DreamActor2D
  │   └── AttackArea: DreamHitbox2D
  └── Enemy: DreamActor2D
      └── HurtArea: DreamHurtbox2D

Meaning: the hitbox tries to deal damage. The hurtbox receives it. Health/UI/feedback can then update through combat nodes, UI Builder, or Visual Logic.

  1. Make one player and one enemy.
  2. Add one hitbox to the attacker and one hurtbox to the receiver.
  3. Test one successful hit.
  4. Only after that, add damage numbers, health bars, SFX, VFX, camera shake, quest updates, and enemy AI.

Do not start by adding every manager. Start with one player, one event, one graph, one feedback result.

#Why do I see so many Dream* nodes in Godot?

When Dreamcatcher is enabled, Godot's normal Create New Node window can show many classes starting with Dream. This is intended: Dreamcatcher provides runtime building blocks so they can be used in real Godot scenes.

Important beginner rule: the Add Node dialog is the toolbox storage room, not the tutorial path. You are not expected to learn every Dream node before making your first scene.

Dream DNA does not hide unrelated node classes. Choosing Hack & Slash, Platformer, RPG, Visual Novel, or Universal changes suggestions and workflows. It does not remove classes from Godot's global node list.

If you want to...Start withAvoid at first
Make a player or enemyDreamActor2D, DreamActor, or a starter templateAdvanced genre managers and whole game-mode systems
Run no-code logicDreamBehaviorEditing runtime graph scripts directly
Trigger something in a levelDreamTrigger2D / DreamTriggerManually wiring many unrelated signals
Make an NPC, chest, sign, or doorDreamInteractable2D / DreamInteractableLarge manager nodes before one interaction works
Test simple combatDreamHitbox2D, DreamHurtbox2D, DreamHealthBarFull combat bridge before one hit works
Show UI feedbackUI Builder, dialogue/HUD templates, DreamHealthBarA complete menu system before one label/bar updates

Use tools/templates first. Add runtime nodes manually only when a workflow asks for them. Managers are usually advanced nodes: one per relevant scene or game mode, not one per object.

#Click-by-click learning path for new users

Start small: Dreamcatcher includes many tools, but the first goal is not a full game. The first goal is one small prototype: one scene, one player, one object, one reaction, one validation pass, and one Quick Play test.

Simple metaphor: Making a game is like building a small project. Do not start with the whole city. Start with one room, one door, one character, and one prototype coin. When that works, build the next room.

#Where do I click? Dreamcatcher navigation map

Most Dreamcatcher work starts from the Dreamcatcher dock or panel inside the Godot editor. If a button label is slightly different in your build, use the tool name and nearby label. Dreamcatcher v0.9.4 is Early Access, so exact labels may vary slightly between builds; use the tool name and nearby label if your screen differs.

I want to...Open this toolThen look for...Result
Choose game directionGenre DNA / Almanacprofile selectorrecommended tools/templates/resources
Create a sceneScene Composertemplate list / create / duplicate / exportone `.tscn` scene
Create a mapMap Editorlayer list, tile palette, paint modemap scene with TileMapLayer layers
Add an interactionVisual Logic or Map Event Editorevent / condition / action nodes or commands`.dcs` graph or map event page
Create game dataDatabaseresource type list`.tres` resources
Make dialogueNarrative Weaverdialogue / chapter / choice nodesdialogue resources and story flow
Make UIUI Buildercomponent library and device previewUI `.tscn` scene
Generate contentProcedural Toolkit / Sound Studio / Sketch Enhancergenerate button + settingsgenerated asset record/output
Find generated contentGenerated Asset Browserfilter / search / preview / reportregistry record and output path
Check mistakesContent Validatorvalidate current scene/map/projectwarnings, errors, safe fixes
Test the gameQuick Play / Godot Play Current Sceneplay/test buttonplayable test

#Small dictionary for first-time Godot users

Read this before following scenarios. These words appear everywhere in Godot and Dreamcatcher.

WordSimple meaningLife example
ProjectYour whole game folder.A school binder for one subject.
SceneOne reusable piece of the game.A room, stage, menu, or character prototype.
NodeA building block inside a scene.A building block.
ResourceData used by the game.A character card with stats written on it.
SignalA message that says something happened.A doorbell.
GraphVisual rules connected by lines.A board-game rule path: if this, then that.
`.dcs`Dreamcatcher visual logic file.A starter plan for behavior.
TileMapLayerA layer of map tiles.Transparent paper sheets stacked on top of a map.
EventA thing on the map that reacts.A chest, door, NPC, trap, or button.
RegionInvisible painted area with behavior.A floor zone: safe zone, danger zone, music zone.
ValidatorTool that checks mistakes.A validation check before you submit it.
Quick PlayFast test run.Trying your prototype before building more.

#How to follow a click-by-click tutorial

Every beginner workflow should be read like a workflow. Do not continue just because a step is written. Continue only when the expected result appears.

PartMeaning
GoalWhat you are making and why it matters.
Click pathWhere to go in Godot/Dreamcatcher. Exact labels can vary slightly between Godot 4.7 stable and Godot 4.6.3.
What to doThe action you performs.
WhyWhy this step exists; this prevents following steps without checking results.
Expected resultWhat should appear after the action.
Created/changedWhich scene, node, file, resource, variable, or setting changed.
If it failsThe first likely mistake and first recovery step.
Continue whenA clear gate before moving to the next step.

#Small prototype first

Make one small loop before building a complex game.

#One mistake at a time

Fix the first validator warning before trying to fix everything.

#Save where you can find it

After every success, confirm the scene/resource appears in the FileSystem.

#Play before expanding

If you cannot Quick Play the small version, do not add more systems yet.

#Which tool should I open?

I want to... Open this first Then use Check with
Start a scene fast Scene Composer Genre DNA, Visual Logic Content Validator, Quick Play
Make a map Map Editor Generated Asset Browser, Database Map validation, Quick Play
Add a door/chest/NPC Map Editor or Scene Composer Visual Logic, Database Content Validator
Add dialogue or choices Narrative Weaver Visual Logic, UI Builder Content Validator
Create items/enemies/quests Database Generated Asset Browser, Gameplay Director Content Validator
Create HUD/menu/UI UI Builder Generated Asset Browser Quick Play
Generate art/audio/data Procedural Toolkit or Sound Studio Generated Asset Browser Generated asset validator
Clean old experiments Asset Cleaner Generated Asset Browser Content Validator
Prepare export Export Manager Bake Manager, Content Validator Export Preflight
Something is missing Module Manager FAQ / Troubleshooting Registry validation

#Project folders and generated content

Dreamcatcher separates plugin files from your game files. This is essential for safety, backups, export, migration, and project ownership.

addons/dreamcatcher/    Plugin files. Do not save your generated game content here.
res://dream/generated/   Generated project-owned outputs.
res://dream/generated/_registry/ Registry records for generated assets.
res://dream/database/    Generated or managed game-data resources.
res://dream/maps/generated/ Generated editable map scenes when supported.
scenes/, actors/, items/, etc. Your normal Godot project folders.

Rule: if you created it, generated it, imported it, or plans to ship it, it should live in the project, not inside addons/dreamcatcher/.

#Visual workflow maps

Use these diagrams as a quick mental map. They are intentionally simplified so new users are not forced to learn every tool at once.

#Infographic 1: First playable path

#Infographic 2: Dreamcatcher tool map

#Start

Genre DNA
Scene Composer
Almanac

#Create

Map Editor
Visual Logic
UI Builder
Narrative Weaver
Database
Sound Studio
Animation Studio
Cinematic Editor

#Generate / Manage

Procedural Toolkit
Generated Asset Browser
Asset Pipeline
Asset Cleaner

#Check / Ship

Content Validator
Performance Panel
Bake Manager
Export Manager

#Advanced / Support

Module Manager
Migration Assistant
AI Dream Advisor

#Infographic 3: Generated asset lifecycle

Regeneration is mainly supported for stored dungeon, map, and overworld presets in v0.9.4.

#Infographic 4: Project folder safety map

addons/dreamcatcher/Plugin files. Do not save generated game content here.
res://dream/generated/Generated project-owned outputs.
res://dream/generated/_registry/Generated asset records.
res://dream/database/Generated database resources.
res://dream/maps/generated/Generated editable map scenes when supported.

#Infographic 5: Validation and export-preflight gates

#Infographic 6: Learning ladder

Level 0Install and verify
Level 1First playable scene
Level 2One interaction
Level 3Map / database / UI / audio
Level 4Generated asset workflow
Level 5Genre starter workflow
Level 6Validation and cleanup
Level 7Export preflight
Level 8Advanced modules and migration

#Build your first full game loop

This is the missing bridge between the tools. Instead of learning Dreamcatcher as disconnected buttons, this course teaches how to connect one small playable loop from start to finish.

You will build one small Action RPG training room: the player walks on a map, talks to an NPC, accepts a quest, fights one slime, receives a reward, opens a locked door, sees HUD feedback, validates the project, and Quick Plays the result.

#What this course teaches

ProjectPlayerInputCameraCollisionMapNavigationMap EventVisual LogicDialogueQuestEnemyCombatEnemy AIRewardDoorHUDStateValidatorQuick Play

Small prototype first: do not build the whole game. Build one room, one player, one NPC, one quest, one enemy, one reward, one door, and one validation pass. After that loop works, repeat the pattern.

#The game loop formula

#1. Player action

The player presses a button, enters a zone, touches an object, chooses dialogue, or attacks.

#2. Trigger

An input, map event, Area2D, dialogue choice, enemy death, timer, or quest state starts the logic.

#3. Condition

The game checks state: has key, quest started, enemy defeated, HP above zero, door locked, or variable value.

#4. Action

Visual Logic changes something: starts quest, deals damage, opens door, gives reward, plays sound, changes scene.

#5. Feedback

The player sees proof: dialogue, sound, VFX, animation, HUD update, notification, item popup, camera shake.

#6. State + test

The game remembers the result, Validator checks references, and Quick Play proves the loop works.

#Metaphors that make the system easier

#Dreamcatcher as a studio

Database is the library. Map Editor is the stage. Narrative Weaver writes the script. Visual Logic directs the action. Validator is the inspector.

#Graph as a workflow

When this happens → check this → do this → show feedback → remember result.

#Quest as a contract

NPC asks → player accepts → objective tracked → proof collected → reward given.

#State as a notebook

The game writes “chest opened,” “slime defeated,” or “door unlocked,” then reads that note later.

#Level as a playground

Entrance → path → obstacle → reward → safe point → exit. Decoration comes after the playground works.

#AI as a guard brain

Idle → sees player → chases → attacks → cools down → returns → dies.

#Universal connection order

Most Dreamcatcher gameplay objects follow the same safe order. When something breaks, return to this order and find the missing link.

  1. Create the visible thing.
  2. Give it data.
  3. Give it collision/area if it must touch or detect.
  4. Give it logic.
  5. Attach the logic.
  6. Add feedback.
  7. Save state if the result must persist.
  8. Validate.
  9. Quick Play.
  10. Repeat with the next object.
ObjectCorrect connection order
Playerplayer scene → input → collision → camera → actor data → movement/interact/attack graphs → HUD feedback → validation
NPCNPC event → dialogue resource → choice → quest graph → state switch → reward/door consequence → validation
Enemyenemy scene → enemy data → collision/hurtbox/detection → AI graph → damage/death graph → reward/quest update → validation
Chestchest event → item data → interaction trigger → open graph → reward feedback → self-switch opened → validation
Doordoor event → locked condition → key/quest/switch check → open/teleport graph → persistent unlocked state → validation
Map regionregion paint → behavior type → condition/action → music/encounter/weather/cutscene → validation
HUDUI scene → labels/bars → state binding → graph events update UI → validation

#Which tool owns which part?

QuestionTool/system that owns it
What exists in the game?Database
Where is it placed?Scene Composer / Map Editor
What does it say?Narrative Weaver
What starts it?Trigger, signal, map event, input, dialogue choice
What happens after it starts?Visual Logic
What numbers does it use?Actor/enemy/item/quest resources
What blocks movement?Collision
Where can AI move?Navigation
What invisible zone has meaning?Regions
What does the player see on screen?UI Builder / HUD
What sound/VFX/animation plays?Sound Studio / VFX / Animation
What remembers the result?Switches, variables, self-switches, quest state, save state
What checks if it is broken?Content Validator
What proves it works?Quick Play

#Game object anatomy

Use this anatomy for NPCs, enemies, chests, doors, pickups, and interactive props.

VisualWhat the player sees.
DataThe resource identity: item, enemy, actor, quest, dialogue.
Collision / AreaWhat blocks, touches, detects, or receives hits.
TriggerThe cue: input, interact, area entered, dialogue choice, death.
Logic graphThe workflow that decides what happens.
FeedbackSound, VFX, animation, HUD, notification, dialogue.
StateWhat the game remembers after the event.
ValidationChecks for missing links and broken references.

#Full tutorial: first Action RPG quest room

Goal: Build one small room where the player talks to a guard, accepts a slime quest, defeats one slime, returns for a reward, and unlocks a door.

Recommended DNA: Action RPG. Fallback: Universal.

#Phase 0: Create a safe training project

Click pathGodot Project Manager → New Project → Create Folder → Create & Edit
What to doCreate a clean project named Dreamcatcher_First_RPG_Loop.
WhyA clean project prevents mistakes from damaging a real project.
Expected resultGodot opens an empty project.
Created/changedNew Godot project folder.
If it failsUse a shorter folder path with no special characters.

#Phase 1: Enable Dreamcatcher

Click pathProject folder → res://addons/dreamcatcher/, then Project → Project Settings → Plugins → Dreamcatcher → Enable
What to doPlace Dreamcatcher in the addons folder and enable it.
WhyGodot plugins do nothing until enabled.
Expected resultDreamcatcher tools/dock/menu appear in the editor.
Created/changedPlugin enabled in project settings.
If it failsConfirm the path is exactly res://addons/dreamcatcher/ and restart Godot if needed.

#Phase 2: Choose Action RPG workflow

Click pathDreamcatcher dock → Genre DNA / Almanac → Action RPG → Apply / Use Profile (UI labels may vary)
What to doSelect Action RPG, or Universal if the selector is unclear.
WhyAction RPG prioritizes movement, maps, quests, enemies, combat, rewards, and HUD feedback.
Expected resultAction RPG templates and workflow hints become easier to find.
Created/changedWorkflow/profile selection.
If it failsChoose Universal and manually open Scene Composer, Map Editor, Database, Visual Logic, and Narrative Weaver.

#Phase 3: Create the player

Click pathScene Composer → Action RPG / Player / Actor template → Create / Duplicate / Export starter scene (UI labels may vary)
What to doCreate one player scene. Expected safe parts: sprite, collision, camera, interaction area, attack area, DreamBehavior.
WhyThe player is the controlled object, not just a sprite.
Expected resultA player scene opens or appears in the FileSystem.
Created/changedA .tscn player scene.
If it failsCreate a manual CharacterBody2D with Sprite2D, CollisionShape2D, and Camera2D.

#Phase 4: Configure input

Click pathProject → Project Settings → Input Map
What to doCreate move_up, move_down, move_left, move_right, interact, attack, dash, pause, confirm, and cancel.
WhyVisual Logic and player controllers need consistent action names.
Expected resultInput actions are listed in Godot Input Map.
Created/changedProject input settings.
If it failsStart with movement, interact, and attack only.

#Phase 5: Give the player stats

Click pathDatabase → Actors / Actor Data → New
What to doCreate DreamActorData: player_hero with HP, attack, defense, speed, and Player faction.
WhyCombat needs numbers. Graphs read stats to calculate damage and survival.
Expected resultThe player has reusable actor data.
Created/changedActor data resource.
If it failsUse temporary graph values first, then replace with actor data later.

#Phase 6: Create the map

Click pathMap Editor → New Map / New Scene → Small room template (UI labels may vary)
What to doCreate one small room, then paint floor, walls, collision, and player spawn in that order.
WhySmall maps make debugging easier. Visual walls alone may not block movement; collision does.
Expected resultA small room exists and the player can spawn safely.
Created/changedMap scene/resource, layers, collision, and spawn marker.
If it failsUse a normal 2D scene and simple placeholder floor/walls if map creation is unclear.

#Phase 7: Add an NPC and dialogue

Click pathMap Editor → Event Paint → NPC template; then Narrative Weaver → New Dialogue
What to doPlace a guard NPC and create a short dialogue: “A slime is blocking the old door. Can you defeat it?” with Yes/Not yet choices.
WhyNarrative Weaver owns words and choices; map events own placement.
Expected resultInteracting with the NPC can show dialogue.
Created/changedNPC event and dialogue resource.
If it failsFirst make the NPC show one line before adding branches.

#Phase 8: Create the quest

Click pathDatabase → Quest → New
What to doCreate quest_defeat_slime with objective “Defeat 1 slime” and a small reward.
WhyThe quest stores progress. Dialogue presents the story, but quest data remembers the objective.
Expected resultA quest resource exists.
Created/changedQuest data resource.
If it failsUse a simple switch first if quest UI is not ready.
Click pathVisual Logic → New Graph; save as res://dream/logic/quests/start_slime_quest.dcs
What to doMake choice “Yes” start the quest, set quest_slime_started = true, and show a notification. Attach the graph to the NPC/map event.
WhyThis is the first bridge: dialogue choice becomes gameplay state.
Expected resultChoosing Yes starts the quest and shows feedback.
Created/changedVisual Logic graph, switch/state, NPC graph assignment.
If it failsCheck that the graph is saved, assigned, and the dialogue choice points to it.

#Phase 10: Add a locked door

Click pathMap Editor → Event Paint → Door template; Visual Logic → New Graph
What to doPlace a door and make it check old_door_unlocked. If false, show “The door is locked.” If true, open or transfer.
WhyThe door proves quest state can change the map.
Expected resultBefore the quest it is locked; after reward it opens.
Created/changedDoor event and door logic graph.
If it failsUse only a message before attempting scene transfer.

#Phase 11: Create enemy data

Click pathDatabase → Enemy → New
What to doCreate enemy_slime with HP 30, attack 5, defense 1, slow speed, Enemy faction, and reward/drop.
WhyEnemy data gives combat and reward numbers.
Expected resultA slime enemy resource exists.
Created/changedEnemy data resource.
If it failsUse very low stats for the first test.

#Phase 12: Create enemy scene

Click pathScene Composer → Enemy / Slime template, or manual 2D scene
What to doCreate a slime with sprite, CollisionShape2D, DetectionArea, Hurtbox, AttackArea, and DreamBehavior.
WhyEnemy behavior needs detection, damage receiving, and attack areas.
Expected resultThe slime appears on the map.
Created/changedEnemy .tscn scene and map placement.
If it failsStart with a stationary enemy before AI.

#Phase 13: Create enemy AI

Click pathVisual Logic / AI tool → New graph; save as res://dream/logic/enemies/slime_ai.dcs
What to doUse a simple FSM: Idle → Chase → Attack → Cooldown → Return → Dead.
WhyFSM is easier than a behavior tree for the first enemy.
Expected resultThe slime detects and reacts to the player.
Created/changedEnemy AI graph assigned to the slime.
If it failsFirst show “Player detected” before adding movement and damage.

#Phase 14: Make the player attack

Click pathVisual Logic → New Graph; save as res://dream/logic/player/player_attack.dcs
What to doOn attack input: play animation, enable AttackArea briefly, detect enemy hurtbox, calculate damage, apply HP change, show feedback.
WhyInput becomes combat only when it connects to hitbox/hurtbox and damage logic.
Expected resultPressing attack near slime reduces slime HP.
Created/changedPlayer attack graph and attack area behavior.
If it failsFirst show an attack notification, then enable hit detection.

#Phase 15: Enemy death updates quest

Click pathVisual Logic → New Graph; save as res://dream/logic/enemies/slime_death.dcs
What to doWhen slime HP reaches 0, set slime_defeated = true, update quest objective, play feedback, drop reward, remove enemy.
WhyEnemy death is how combat affects quest progress and rewards.
Expected resultThe slime dies and the quest updates.
Created/changedDeath graph, quest state, reward/drop.
If it failsIf death works but quest does not, check IDs and quest objective conditions.

#Phase 16: Return to NPC for reward

Click pathVisual Logic → New Graph; save as res://dream/logic/quests/complete_slime_quest.dcs
What to doIf quest active and slime defeated, show completion dialogue, give reward, complete quest, set old_door_unlocked = true.
WhyThis closes the loop and changes the map state.
Expected resultNPC rewards player and unlocks door.
Created/changedCompletion graph, reward state, door unlock switch.
If it failsTest the three NPC states: before quest, quest active, quest complete.

#Phase 17: Add HUD feedback

Click pathUI Builder → HUD layout → Label / HP bar / Quest text
What to doCreate a small HUD showing HP, current objective, and reward feedback.
WhyHUD helps the player understand what changed.
Expected resultThe scene shows HP and/or objective text.
Created/changedHUD scene/resource and scene instance.
If it failsStart with static labels; connect dynamic values later.

#Phase 18: Validate and Quick Play

Click pathContent Validator → Validate; then Quick Play
What to doValidate the player, map, NPC, dialogue, quest, enemy, combat, door, HUD, and generated assets. Then test the loop in order.
WhyValidation finds missing links; Quick Play proves the player experience.
Expected resultThe loop can be played from spawn to reward to unlocked door.
Created/changedValidation report and any safe fixes.
If it failsFix the first warning only, then validate again.

#Quick Play test order for the loop

  1. Player spawns.
  2. Player moves.
  3. Walls block movement.
  4. Camera follows.
  5. Interact near NPC opens dialogue.
  6. Choosing “Yes” starts the quest.
  7. Slime exists.
  8. Slime detects the player.
  9. Attack damages slime.
  10. Slime attacks or reacts.
  11. Slime dies.
  12. Quest updates.
  13. Return to NPC gives reward.
  14. Door unlocks.
  15. HUD/objective feedback updates.

Do not continue after a failed step. If step 7 fails, do not build step 8 yet. Fix the first broken link, validate, Quick Play, then continue.

#What starts what? Trigger guide

A trigger is the thing that starts logic. Most “nothing happened” bugs are trigger bugs: the graph exists, but nothing started it.

TriggerUsed forExample
On readyScene setupStart BGM, initialize HUD, set starting state
Input actionPlayer buttonAttack, interact, dash, pause
Area enteredTouch/zone behaviorPickup, trap, music region, cutscene trigger
Interact buttonNearby object actionTalk to NPC, open chest, use door
Dialogue choiceStory consequenceAccept quest, refuse, set route variable
Enemy deathCombat consequenceUpdate quest, drop item, open arena door
Quest state changedProgressionUnlock door, spawn NPC, change dialogue
TimerDelayed actionPatrol wait, bomb countdown, cooldown
Validator/preflightCheckingFind missing resources or invalid references

Doorbell metaphor: the button is the trigger, the wire is the connection, the bell is the graph, and the sound is feedback. If no sound plays, test each part of the chain.

#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.

#Connect Narrative Weaver to gameplay

Narrative Weaver owns words, choices, and branches. Visual Logic owns consequences. A choice only changes the game when it is linked to state, a quest, a resource, a graph, or a map event.

NPC eventInteract triggerDialogue opensChoice selectedVisual Logic runsQuest/switch/reward changesMap/HUD updates
Dialogue choiceGameplay result
“Yes, I will help.”Start quest, set quest_started = true, show objective
“I brought the item.”Remove item, complete objective, give reward
“Open the gate.”Check quest/switch/key, unlock door if condition passes
“Fight me.”Start battle/encounter, change music, lock exits
“Goodbye.”Close dialogue with no gameplay change

#Level design with Map Editor

Map editing is not only painting pretty tiles. A playable level needs purpose, path, blockers, collision, navigation, events, regions, feedback, and a testable goal.

GoalPlayer spawnMain pathWalls/blockersCollisionNavigationChallengeRewardExitDecorationValidate
Layer/systemBeginner meaning
GroundWhere the player can stand
Walls/Objects/RoofsWhat the player sees
CollisionWhat blocks movement
NavigationWhere AI can walk/pathfind
RegionsInvisible zones with meaning: encounters, music, weather, danger, safe area
EventsObjects that react: NPC, chest, door, trigger, pickup, save point
SpawnWhere player/enemies/NPCs start

#First level templates

#First RPG room

Spawn → NPC → locked door → slime → reward → door opens.

#First dungeon room

Entrance → chest → enemy → trap → key → locked door → exit.

#First town map

Spawn → NPC → shop → save point → exit trigger.

#First platformer level

Spawn → jump gap → pickup → hazard → checkpoint → exit.

#First boss room

Door locks → boss intro → phases → reward → exit opens.

#First stealth room

Spawn → guard patrol → hiding zone → key → exit.

#Player, input, collision, and navigation

Player control becomes reliable only when input, body, collision, camera, interaction area, attack area, and map collision agree.

Input actionPlayer controllerCharacter bodyCollision shapeMap collisionCamera followInteraction/Attack areas
Common beginner mistakeFix
Sprite exists but player cannot collideAdd/enable CollisionShape2D and map collision.
Input exists but player does not moveCheck action names, player controller, and Quick Play scene.
Enemy sees through wallsCheck detection area, line of sight rules, and navigation/collision.
Player cannot interactCheck InteractionArea, event trigger, and graph assignment.
Player attack does nothingCheck attack input, AttackArea, enemy Hurtbox, and damage graph.

#First combat loop

Combat is not one button. It is a chain from input to feedback and state.

Attack inputAnimationHitbox activeEnemy hurtbox touchedDamage calculatedHP changesDeath/reward/quest update
PartPurpose
Attack inputStarts the attack graph.
AnimationShows the player what happened.
AttackArea / hitboxDetects what was hit.
HurtboxReceives the hit.
Damage formulaTurns stats into HP loss.
Death graphHandles reward, quest update, VFX/SFX, and cleanup.

#First enemy AI

For the first enemy, use a simple finite-state machine instead of a complex behavior tree.

IdleDetect playerChaseAttackCooldownReturnDead
StateMeaning
IdleEnemy waits or patrols.
DetectDetection area sees the player.
ChaseEnemy moves toward the player using movement/navigation rules.
AttackEnemy is close enough to damage the player.
CooldownEnemy waits before attacking again.
ReturnEnemy loses player and returns to home/patrol.
DeadEnemy stops all behavior and runs death/reward logic.

#Make the game remember

State is the game’s notebook. It is what makes a chest stay open, a defeated enemy stay defeated, a door stay unlocked, and an NPC say different lines later.

State typeUseExample
SwitchTrue/false global conditionold_door_unlocked = true
Self-switchPer-event conditionChest A opened, but Chest B still closed
VariableNumber or valueGold, score, enemy count, route points
Quest stateQuest progressNot started, active, complete, failed
Save dataPersistence between sessionsHP, feature list, map progress, opened chests

#Generated assets: from generator to game

Full feedback course: after this reference section, use Make the loop feel alive for the complete audio, animation, VFX, camera, cinematic, UI feedback, validation, and Quick Play walkthrough.

Generated content is useful only after you inspect it, assign it, validate it, and test it in context.

GenerateInspect reportSave in project folderBrowse/filterAssignValidateQuick PlayKeep or delete
Generated assetBeginner use
IconAssign to item, skill, quest, currency
SFXAssign to pickup, chest, door, hit, UI confirm
MusicAssign to map, battle, region, title scene
VFXAssign to attack hit, enemy death, spell impact
Dungeon/mapOpen as editable map, then place events/collision/validation gates
Palette/themeUse in UI theme or art direction

#Make the loop feel alive: audio, animation, VFX, camera, and cinematics

The previous course made a playable loop work. This chapter makes that loop feel like a game. A player should never wonder whether an action worked. When the player attacks, talks, collects, opens, wins, loses, enters a region, or completes a quest, the game should answer with animation, sound, VFX, UI feedback, camera movement, or a cinematic beat.

This course connects Sound Studio, Animation Studio, VFX tools, Cinematic Editor, UI Builder, Visual Logic, Map Editor, Narrative Weaver, Generated Asset Browser, Content Validator, and Quick Play into one feedback pipeline.

Gameplay eventAnimationSoundVFXUI responseCamera beatStateValidateQuick Play

Think of the first course as the skeleton of the game. This chapter adds nerves, face, voice, rhythm, and emotion. It does not replace the core gameplay course; it sits on top of it after the basic loop already works.

#What you will add to the first RPG room

#Player feedback

Idle, walk, attack, hurt, death feedback; attack SFX; hit timing; HP bar response.

#Enemy feedback

Slime idle, chase, attack, hurt, death states; hit spark; death puff; reward response.

#Dialogue and quest feedback

NPC talk pose, dialogue click/confirm sound, quest start jingle, quest-complete banner.

#Map and door feedback

Map BGM, region ambience, door unlock glow, door-open sound, camera focus where useful.

#Cinematic beat

A small cutscene that locks control, moves camera, plays dialogue/audio/VFX, updates state, and returns control.

#Validation pass

Checks missing audio, animation, VFX, cinematic, UI, and generated asset references before growing the scene.

#The feedback stack

Every important action should answer the player with at least one form of feedback. Important actions should often use several layers at once.

EventAnimationSoundVFXUICamera / cinematicState
Enemy hitEnemy hurt animationHit SFXHit sparkHP bar changesSmall shakeEnemy HP changes
Enemy diesDeath animationDeath SFXDeath puffEXP/reward textOptional slow beatDefeated flag / quest update
Quest startsNPC talk poseQuest jingleSubtle glowObjective appearsOptional focus on NPCQuest active
Door unlocksDoor unlock/openDoor SFXUnlock glowPrompt changesFocus/pan to doordoor_unlocked true
Region changesNone requiredAmbience fadeWeather/fogArea nameFade/tint where usefulcurrent_region
Boss introBoss animationRoar/BGMBurstBoss nameCamera panboss_active true

#Presentation tool ownership

QuestionTool or system that owns it
What sound should play?Sound Studio / Generated Asset Browser
When should the sound play?Visual Logic, map event, UI event, region event, combat event
What animation should show?Animation Studio plus the player/enemy/NPC scene
When does animation change?Input, movement state, AI state, combat state, cinematic timeline
What VFX should appear?VFX tools / Generated Asset Browser
Where should VFX spawn?Player, enemy, event object, region, map position, or UI element
What camera beat happens?Cinematic Editor, camera node, Visual Logic action, or camera helper
What music plays in this area?Sound Studio + Map Editor music/region settings
What confirms the action to the player?UI Builder + sound + VFX + animation
What checks missing files?Content Validator
What proves timing feels right?Quick Play

#Tutorial A: Add SFX to the first RPG loop

Goal: make the first Action RPG room respond with sound at the most important gameplay moments.

#Step A1: Choose five sound events

Click pathNo tool required first. Review your loop.
What to doPick quest_start, enemy_hit, enemy_death, reward_get, and old_door_open.
WhyFive sounds prove the audio pipeline without making the project noisy.
Continue whenYou know which action should make which sound.

#Step A2: Create or select one SFX

Click pathSound Studio → SFX / Generate / Presets → Preview. UI labels may vary in v0.9.4.
What to doCreate or select one simple hit sound.
Expected resultThe sound previews correctly inside the editor.
If it failsUse a simple placeholder beep/test sound if available; replace it later.

#Step A3: Register or find the SFX in Generated Asset Browser

Click pathGenerated Asset Browser → Audio/SFX → select output.
WhyVisual Logic and validators need a stable project reference.
SafetySave generated/user content under project folders such as res://dream/audio/, not inside res://addons/dreamcatcher/.
Continue whenThe sound has a visible project path.

#Step A4: Play the sound from Visual Logic

Click pathVisual Logic → player attack / enemy damage graph → add Play SFX action.
What to doAdd the hit SFX after damage is applied.
WhySound should happen when the hit is real, not merely when the player presses attack.
If it failsTest a temporary graph first: On Input attack → Play SFX. Then move it back to the real damage event.
EventSound typeLikely graph/event
Quest startsPositive jingleDialogue choice / quest start graph
Enemy hitImpact soundCombat damage graph
Enemy deathPop/puff/deathEnemy death graph
Reward gainedSparkle/coin/itemReward graph
Door opensCreak/unlockDoor event graph
UI confirmClick/confirmUI Builder / menu event
Locked/errorLow/error toneLocked door or invalid action graph
Quick Play proof: the player hears feedback for quest start, hit, enemy death, reward, and door open, and none of those sounds play at the wrong time.

#Tutorial B: Add map music, battle music, and ambience

Goal: teach the scene to change music based on location and gameplay state.

Map loadsMap BGMEnemy detects playerBattle BGMEnemy diesMap BGM returns

#Step B1: Choose three music states

What to doPrepare map_bgm, battle_bgm, and region_ambience.
WhyThis is enough to teach peaceful, combat, and environmental sound states.

#Step B2: Create or select music/ambience assets

Click pathSound Studio → Music / Ambience → Preview.
Continue whenEach audio asset previews and has a project path.

#Step B3: Assign map BGM

Click pathMap Editor → Map settings / Music zone → assign map_bgm. If exact labels differ, use the available map or region music field.
Expected resultNormal room music plays when the room loads.

#Step B4: Add battle music transition

TriggerEnemy detects player, combat starts, or battle region activates.
ActionVisual Logic or combat state plays battle_bgm.
ReturnEnemy death or combat end returns to map_bgm.
If it failsTest direct graph actions: On Input debug_music → Play battle_bgm, then restore real triggers.

#Step B5: Add ambience or weather region

Click pathMap Editor → Region Paint / Weather Zone / Music Zone → assign ambience.
Expected resultAmbience starts when entering the region and stops/fades when leaving if the workflow supports it.
Quick Play proof: map music starts, combat music overrides during battle, map music returns afterward, and ambience does not stack endlessly.

#Tutorial C: Connect animations to gameplay states

Goal: make animations follow actual player/enemy states instead of being decorative previews.

Input or AI stateGameplay stateAnimation stateFeedback visibleQuick Play test
ObjectAnimationTrigger/stateDebug check
PlayerIdleNo movement inputDoes idle resume after walking/attack?
PlayerWalkMovement inputDoes direction/speed match movement?
PlayerAttackAttack inputDoes hitbox timing match the animation?
PlayerHurtReceives damageDoes control recover afterward?
PlayerDeathHP ≤ 0Does Game Over or respawn state begin?
EnemyIdleNo targetDoes it stop chasing after losing the player?
EnemyChasePlayer detectedDoes it move only when path/detection is valid?
EnemyAttackPlayer in attack rangeDoes damage happen during the attack window?
EnemyHurtReceives damageDoes hit feedback show every valid hit?
EnemyDeathHP ≤ 0Does the enemy stop AI and collisions?
NPCTalk poseDialogue opensDoes pose return to idle afterward?
DoorOpenUnlock condition trueDoes collision/blocked state update too?

#Step C1: Create or preview animations

Click pathAnimation Studio → player/enemy/NPC animation preview or preset.
What to doStart with idle, walk, attack, hurt, and death for player/enemy. Use simple draft assets at this stage.

#Step C2: Assign animation names consistently

What to doUse stable state names such as idle, walk, attack, hurt, death.
WhyVisual Logic, FSM, AI, and Cinematic Editor need predictable names.

#Step C3: Trigger animation from gameplay state

PlayerMovement input triggers walk/idle. Attack input triggers attack. Damage triggers hurt/death.
EnemyAI state triggers idle/chase/attack. Combat triggers hurt/death.
If it failsTest one animation with a temporary input trigger before connecting all states.
Quick Play proof: animations change because gameplay state changed, not because you manually previewed an animation in the editor.

#Tutorial D: Add VFX to combat, rewards, and doors

Goal: make hits, rewards, unlocks, saves, and spells visible at the exact moment they happen.

VFXTriggerSpawn positionCleanup
Hit sparkPlayer attack overlaps enemy hurtboxEnemy or hit pointOne-shot
Enemy death puffEnemy HP reaches 0Enemy positionRemove enemy after effect or delay
Reward sparkleReward grantedPlayer, chest, NPC, or reward iconOne-shot
Door unlock glowQuest completed / door switch trueDoor eventStop after door opens
Spell impactSkill hits targetTarget or impact pointOne-shot
Quest complete burstObjective completedHUD or playerShort UI effect
Save point auraPlayer enters save pointSave point eventLoop while active
Region fog/weatherPlayer enters weather zoneRegion/map overlayFade on leave

#Step D1: Create or select one VFX

Click pathVFX tools / Procedural Toolkit VFX tab / Generated Asset Browser → preview.
What to doStart with hit_spark.
Continue whenYou can preview the effect and find its project path or generated asset record.

#Step D2: Spawn VFX from Visual Logic

Click pathVisual Logic → damage graph → Spawn VFX / Play VFX action.
What to doSpawn hit spark only after damage applies. Use enemy position or hit position if supported.
If it appears in the wrong placeCheck whether the graph uses local position, global position, target node, or event object position.

#Step D3: Add death/reward/door effects

Enemy deathSpawn death puff before or during enemy removal.
RewardSpawn sparkle when reward is granted, not when the quest text merely appears.
DoorSpawn unlock glow when the unlock condition becomes true.
Quick Play proof: VFX appears at the correct object/position, at the correct moment, and does not loop or stack unless intended.

#Tutorial E: Add UI feedback that confirms progress

Goal: use UI Builder not only for layout, but also to confirm state changes during gameplay.

FeedbackTriggerUI resultPairs well with
Quest startDialogue choice acceptedObjective appearsQuest jingle
Quest progressEnemy death / item collectedCounter updatesSmall tick SFX
Quest completeObjective doneBanner/toastVFX burst + jingle
HP changedDamage/healHP bar changes/flashesHit/heal SFX
PickupItem collectedIcon/counter appearsPickup SFX/sparkle
Locked doorInteract while locked“Locked” promptError sound
Interact promptPlayer enters interaction range“Press E” promptNone or subtle UI tick

#Step E1: Add only three UI confirmations first

What to doAdd quest objective text, HP feedback, and interact prompt.
WhyThese teach state, combat, and interaction without overwhelming the layout.

#Step E2: Bind UI to state changes

Click pathUI Builder → HUD scene → label/bar/prompt → connect through supported state or Visual Logic actions.
Expected resultUI changes when state changes, not only when the scene starts.
If it failsTest a temporary input graph: On Input debug_ui → Set objective text.

#Tutorial F: Create a small cutscene with Cinematic Editor

Goal: make a short event sequence that temporarily controls camera, dialogue, audio, VFX, state, and player control.

Trigger cutsceneLock controlMove/focus cameraDialogueSound/VFXUpdate stateReturn control

#Step F1: Choose the trigger

RecommendedUse a region enter trigger, quest complete trigger, door event trigger, or boss room trigger.
Beginner choiceUse old_door_unlocked = true to play a door-unlock cutscene.

#Step F2: Lock player control

What to doDisable or block movement/input during the cutscene using the supported cinematic/control action.
If it failsDo not continue until control reliably locks and unlocks; otherwise the player can break the sequence.

#Step F3: Move or focus the camera

What to doFocus on the door, NPC, boss, or reward object. Keep the first camera move simple.
Expected resultThe camera makes it obvious what changed.

#Step F4: Add dialogue, audio, animation, and VFX beats

DialogueShow one or two lines, not a long scene.
AudioPlay unlock sound or short jingle.
Animation/VFXDoor glow/open animation, reward sparkle, or boss roar.

#Step F5: Update state and return control

StateSet cutscene_seen, door_unlocked, or boss_active as needed.
Continue whenThe cutscene ends, control returns, and the same cutscene does not repeat unless intended.

#Tutorial G: Boss intro presentation chain

This is the best single example for connecting Map Editor regions, Visual Logic, Narrative Weaver, Sound Studio, Animation Studio, VFX, Cinematic Editor, enemy AI, state, and Quick Play.

Player enters boss regionLock controlClose doorCamera panBoss animationDialogueRoar SFXBattle BGMActivate AIReturn control
BeatTool/systemBeginner-safe check
Player enters regionMap Editor region / Visual Logic triggerTrigger fires once unless intended otherwise.
Control locksCinematic Editor / Visual LogicPlayer cannot move during camera pan.
Door closesMap event / door graphCollision and visual state match.
Camera pansCinematic Editor / camera actionTarget is visible and timing is short.
Boss animatesAnimation Studio / enemy sceneAnimation name matches state.
Dialogue appearsNarrative WeaverDialogue does not start the fight too early.
Roar SFX + burst VFXSound Studio + VFXSound and VFX happen at the same beat.
Battle music startsSound Studio / Visual LogicMap BGM stops or lowers correctly.
AI activatesEnemy AI / Visual LogicBoss does not attack before control returns.
Control returnsCinematic Editor / Visual LogicFight begins cleanly.

#Tutorial H: Full polish pass for the first loop

Goal: convert the working prototype into a readable vertical slice.

#Step H1: Polish in the correct order

OrderCore loop → audio → animation → VFX → UI feedback → camera/cinematic → validation → performance → export preflight.
WhyPolish should prove and clarify working gameplay; it should not hide broken gameplay.
PassAddStop when
AudioFive core SFX + map/battle musicSounds trigger once at correct moments.
AnimationIdle/walk/attack/hurt/death statesStates change visibly in Quick Play.
VFXHit, death, reward, door effectsEffects spawn at correct positions.
UIObjective, HP, prompt, reward feedbackPlayer always knows the next goal.
CinematicOne short intro or unlock beatControl locks/returns safely.
PerformanceCheck heavy effects and UI spamQuick Play remains responsive.
ExportPreflight + Godot export checksMissing assets/platform issues are visible.

#Tool bridge workflows beyond the main loop

These workflows explain how the less-discussed tools connect into the practical workflow. Use them after the first loop works.

ToolUse it whenBridge workflowValidation check
AlmanacYou need a daily starting hubChoose DNA → open recommended tool path → follow one scenario routeSelected profile matches the game loop you are building.
Scene ComposerYou need a starter scene or actorTemplate → customize one property → save under project folder → validateScene opens, has expected nodes, and is not saved inside addons.
Sketch EnhancerYou have rough visual ideasSketch → enhance → export as sprite/icon/UI concept → assign through Generated Asset BrowserAsset rights and output path are clear.
Gameplay DirectorYou need pacing/encounter helpLoop goal → encounter/reward pacing → map/quest/combat adjustmentPlayer always knows the next goal and challenge.
Ideation BoardYou have too many ideasIdea cards → choose one loop → convert to scenario checklist → build only that loopOne buildable vertical slice is selected.
Procedural ToolkitYou need generated maps, sounds, names, icons, VFX, palettes, or assetsGenerate → inspect report → register asset → assign → validate → Quick PlayGenerated asset appears in project-owned folder and validates.
Generated Asset BrowserYou need to organize/apply generated contentSelect asset → inspect metadata/report → assign supported key → validate usageUnsupported assignments are not presented as automatic runtime binding.
AI Dream AdvisorYou need guidanceAsk a narrow question → compare with docs/validator → apply only one safe changeSuggestion is checked against the project before use.
DatabaseYou need reusable game dataCreate item/enemy/quest/actor → assign ID → use in graph/map/eventIDs match exactly across tools.
Asset PipelineYou import or convert external assetsImport → normalize path/name → assign category → validate dependencyUser owns or is licensed to use the asset.
Performance PanelScene becomes slowTest after adding VFX/UI/audio → identify heavy effects → reduce or disableQuick Play remains responsive.
Module ManagerYou need feature visibility/controlReview required modules → avoid disabling core dependencies → validate toolsNeeded systems still appear and no missing-module errors remain.
Migration AssistantYou update from older versionsBackup → run migration → inspect changed paths/resources → validateOld projects still open and references resolve.
Bake ManagerYou prepare generated/data-heavy contentValidate inputs → bake supported data → test baked output → keep source backupBaked output is reproducible and not mistaken for final export.
Asset CleanerYou want to remove clutterReview unused candidates → confirm not referenced by graphs/scenes → delete carefullyNo broken references after cleanup.
Export ManagerYou prepare release buildsValidate → clean/bake/preflight → Godot export templates/platform checks → test exported buildNo claim that Dreamcatcher replaces Godot export requirements.

#Presentation-specific debugging

Use this when the core logic works but the game does not feel or respond correctly.

#Sound does not play

  1. Can the sound preview in Sound Studio?
  2. Is the project path still valid?
  3. Is the Visual Logic action after the real event?
  4. Is volume/mute set correctly?
  5. Does a temporary input trigger play it?

#Music stacks or never stops

  1. Check map BGM versus battle BGM ownership.
  2. Confirm combat start/end triggers both exist.
  3. Do not start the same loop repeatedly on every frame.
  4. Restore map music after battle/cutscene ends.

#Animation does not switch

  1. Check animation names exactly.
  2. Confirm the state actually changes.
  3. Test one animation with a temporary trigger.
  4. Check whether attack/hurt locks need to end.

#VFX appears in the wrong place

  1. Check local versus global coordinates.
  2. Spawn on the target object first.
  3. Check if the effect is parented to UI, map, or actor.
  4. Test with a visible placeholder effect.

#Cutscene never returns control

  1. Confirm an end beat exists.
  2. Check the return-control action.
  3. Check dialogue/camera wait completion.
  4. Add a debug fallback key only while testing.

#UI feedback does not update

  1. Confirm the HUD scene is loaded.
  2. Check label/bar node path.
  3. Confirm the state/event actually changes.
  4. Test one UI update with a temporary input graph.

#New scenario routes for presentation and polish

#Scenario U: Add sound to the first RPG loop

Quest start jingle, enemy hit, enemy death, reward, door open, and locked/error sounds.

#Scenario V: Add animations to player and slime

Player idle/walk/attack/hurt/death and slime idle/chase/attack/hurt/death connected to real states.

#Scenario W: Add VFX to combat and rewards

Hit spark, death puff, reward sparkle, door unlock glow, and quest complete burst.

#Scenario X: Add a boss intro cutscene

Region trigger, control lock, camera pan, boss animation, dialogue, roar SFX, battle music, AI activation.

#Scenario Y: Add music and ambience zones

Town/map BGM, dungeon BGM, battle BGM, weather ambience, and region transitions.

#Scenario Z: Full polish pass

Core loop works, then add animation, SFX, VFX, HUD, camera beat, validation, and Quick Play.

#Scenario AA: Polish a platformer loop

Jump/land/hazard/checkpoint/exit sounds, animations, VFX, camera, and checkpoint UI.

#Scenario AB: Polish a visual novel route

Choice SFX, portrait expressions, route-state UI, scene transition, and ending beat.

#Scenario AC: Polish a generated dungeon

Dungeon ambience, trap VFX, chest sparkle, enemy feedback, boss room intro, and validator pass.

#Scenario AD: Debug presentation failures

Sound missing, VFX wrong position, animation not switching, cutscene stuck, UI not updating.

#Scenario AE: Optimize heavy feedback

Use Performance Panel to reduce excessive VFX, UI spam, and repeated audio triggers.

#Scenario AF: Prepare feedback for export

Run asset validation, cleaner review, export preflight, and one local exported build test.

#Scenario AG: Build a complete vertical-slice polish checklist

Combine gameplay loop, feedback stack, state, validation, performance, and export readiness.

#Before you continue

  • The chapter clearly separates core gameplay from presentation feedback.
  • Audio, BGM, ambience, animation, VFX, UI feedback, camera, and cinematics each have beginner-safe workflows.
  • Every tutorial includes trigger, tool, asset, assignment, validation, and Quick Play proof.
  • Presentation-specific debugging covers missing sounds, stuck cutscenes, wrong VFX positions, animation failures, and UI update issues.
  • All tool-bridge workflows are honest about Early Access boundaries and do not promise automatic binding for every case.
  • Generated/user content is consistently kept under project-owned folders, not inside res://addons/dreamcatcher/.
  • Users are reminded to use assets they created, own, or are licensed to use.
  • Export wording remains clear: Export Manager helps preflight, but Godot export templates and platform requirements still apply.

#If nothing happens: debugging Dreamcatcher logic

Debugging is checking the chain from player action to feedback. Do not randomly change many things. Follow the chain.

Player actionTrigger emitted?Object receives?Graph assigned?Conditions pass?Action runs?Feedback visible?State saved?
SymptomMost likely missing linkFirst checks
NPC does nothingTrigger or graph assignmentInteractionArea, event trigger, DreamBehavior graph, signal name
Dialogue opens but quest does not startChoice consequence linkChoice ID, graph call, quest ID, switch/variable name
Door never opensState conditionDoor graph, unlock switch, quest completion, condition branch
Attack animation plays but no damageHitbox/hurtbox/damage graphAttackArea, Hurtbox, collision layers, damage formula
Enemy does not chaseDetection/navigation/AI stateDetectionArea, AI graph, navigation, collision blockers
HUD does not updateState binding or signalHUD instance, data source, update graph, signal connection
Validator complains about missing resourceBroken referenceFile path, ID spelling, renamed/deleted asset, registry entry

#Workflow diagrams

#Game object anatomy

Visual → data → collision/area → trigger → logic graph → feedback → state → validation.

#Tool ownership map

Database = what exists; Map Editor = where it is; Narrative Weaver = what it says; Visual Logic = what happens.

#First RPG loop

Talk → quest → fight → reward → unlock → save.

#Trigger chain

Press E → event receives → dialogue opens → choice selected → graph runs → state changes.

#Map layers

Ground, walls, objects, collision, navigation, regions, events, spawns.

#Combat chain

Input → animation → hitbox → hurtbox → damage → HP → death/reward.

#Enemy AI loop

Idle → detect → chase → attack → cooldown → return → dead.

#Validation gates

Build small → validate → Quick Play → fix first error → add next feature.

#Additional practice routes

Use these after the first Action RPG loop works. They are not separate tool demos; they are small playable slices.

#Scenario K: Complete Action RPG loop

Player → NPC → quest → slime → reward → locked door → HUD → save/state.

#Scenario L: First safe town

Spawn → friendly NPC → shop → save point → exit trigger → validation.

#Scenario M: First dungeon room

Entrance → enemy → chest → trap → key → locked door → exit.

#Scenario N: Platformer level design pass

Spawn → jump gap → pickup → hazard → checkpoint → moving platform → exit.

#Scenario O: First stealth room

Spawn → guard patrol → vision/detection → hiding zone → key → exit.

#Scenario P: Visual novel quest branch

Dialogue → choice → variable → route state → different scene/dialogue.

#Scenario Q: Generated dungeon cleanup

Generate dungeon → inspect → delete/fix room → add events → add boss → validate.

#Scenario R: First boss room

Door locks → boss intro → boss phases → reward → exit opens.

#Scenario S: First shop and economy

Item data → currency → shopkeeper NPC → buy/sell → UI feedback.

#Scenario T: First save point

Map event → save prompt → save data → reload → verify state.

#Before you continue

Before calling a tutorial complete, test it against these questions.

  • Can a beginner identify which tool owns each part?
  • Can the player perform a visible action?
  • Does the action have a trigger?
  • Is the graph assigned to the object that should run it?
  • Does the graph change state or content?
  • Does the player receive visible/audio feedback?
  • Does the result persist if it should?
  • Does Content Validator catch missing links?
  • Can Quick Play prove the loop from beginning to end?

#Core creation workflow

For a complete connected example, start with Build your first complete game loop before using the tool-by-tool reference below.

The plugin is large, but the workflow is simple:

Idea
→ Choose Genre DNA
→ Create scene/map/UI/resource
→ Generate assets if useful
→ Inspect metadata/reports
→ Assign or apply supported outputs
→ Validate
→ Quick Play
→ Improve
→ Export Preflight

Use Scene Composer for scenes, Map Editor for maps, Database for game data, Visual Logic for interactions, UI Builder for menus/HUDs, Sound Studio for sound/music, Generated Asset Browser for generated content management, and Content Validator before you trust a scene or export.

#Choosing a Genre DNA profile

Genre DNA is a user-facing workflow preset. It changes Dreamcatcher’s recommendations, tool focus, templates, and creation flow based on the kind of game you want to build. It should not be explained as an technical system.

Recommended beginner choices:

  • Universal: best when you are experimenting or unsure.
  • Platformer: best for first movement, camera, checkpoints, pickups, and simple level flow.
  • Action RPG: best for items, enemies, quests, loot, combat, and NPC interactions.
  • Visual Novel: best for dialogue, choices, portraits, chapters, and scenes.
  • Top-down Adventure / Action Adventure: best for doors, pickups, NPCs, and objectives.

Statuses matter. Stable profiles are more complete public workflows. Beta profiles are usable but evolving. Early Access foundation profiles expose foundations but may require more manual setup.

#Genre DNA catalog

Tip: hover or focus the help markers and table rows for short explanations.

ID Profile Key Status Purpose
0 Universal universal All systems All genre systems visible for custom or hybrid projects.
1 Platformer platformer Stable Jump/dash, camera follow, checkpoint and respawn workflows.
2 Action RPG action_rpg Stable Crit/parry/status, slow-motion and loot workflows.
3 Visual Novel visual_novel Stable CG/affection, dynamic choices, portraits and typewriter text.
4 Card Battler card_game Stable Draw/play/shuffle and card battle management.
5 Cozy Farm cozy_farm Stable Planting, day-cycle time, and gentle QTE workflows.
6 Stealth Tactics stealth Stable Vision cones, alarms, takedowns and squad orders.
7 Survival survival Stable Durability, building, hunger and base-building workflows.
8 Racing racing Stable Accelerate/brake/steer/drift/nitro and rubber-band AI.
9 Horror / Psychological horror Stable Sanity drain, jumpscares, hallucination, tension, safe rooms.
10 Party Game party_game Stable Board-path movement, dice rolls, space events, score tracking.
11 Board Game board_game Stable Turn-based board movement, tile events, dice and tokens.
12 Multiplayer multiplayer Stable Net sync nodes, lobby UI, peer state, host/join workflow.
13 Turn-Based RPG turn_rpg Stable Battle HUD, party/turn order, skills, equipment, growth.
14 Puzzle puzzle Stable Match-3, Sokoban, hint systems, cascades and grid logic.
15 Rhythm rhythm Stable BPM sync, note judgement, combo and grade systems.
16 Roguelike / Roguelite roguelike Stable Floor progression, perks, loot rolling, meta-progression.
17 Tower Defense tower_defense Stable Wave spawning, economy, tower placement/upgrade/sell.
18 Fighting (2D) fighting Stable Frame data, input commands, combos, meter, rounds, hit stop.
19 Fighting (3D Arena) fighting_3d Stable 3D arena fighting, ring-out, juggle physics, super armor.
20 Sports (Soccer) sports_soccer Stable Ball/team AI, formations, fouls, match timer, sports HUD.
21 Sports (Basketball) sports_basketball Stable Shot clock, free throws, 3-point line, fouls, quarters.
22 Sports (Tennis) sports_tennis Stable Tennis scoring, sets and serve system.
23 Simulation / Tycoon simulation Stable Economy ticks, buildings, staff, happiness, research, events.
24 Sandbox sandbox Stable Base-building, open-world tools, crafting, day/night cycle.
25 Metroidvania metroidvania Stable Map reveal, ability gating, interconnected rooms, save rooms.
26 Bullet Hell / Shmup shmup Stable Bullet pools, radial/aimed/spiral patterns, bombs, boss phases.
27 Point & Click Adventure point_click Stable Hotspot interaction, feature list puzzles, dialogue trees.
28 Endless Runner endless_runner Stable Chunk spawning, lane switching, speed curves, revives.
29 Card Game (Classic) classic_cards Stable 52-card deck, solitaire/poker/rummy/uno rule helpers.
30 Hack & Slash hack_slash Stable Combo chains, style ranking, hit-stop, loot, finishers.
31 Idle / Clicker idle_clicker Stable Auto-generators, big numbers, prestige, offline progress.
32 Auto-Battler / Auto Chess auto_battler Stable Grid placement, auto-combat, economy, shop, synergies.
33 Battle Royale battle_royale Stable Shrinking zone, loot, elimination, revives, squad modes.
34 MOBA / Arena moba Stable Lane maps, towers, minion waves, hero abilities, item shop.
35 Educational / Quiz educational Stable Question banks, scoring, timed rounds, hints, leaderboards.
36 Farming RPG / Life Sim farming_rpg Stable Crops/seasons, animals, relationships, fishing, cooking, festivals.
37 FPS / Shooter Foundations fps_shooter Early Access foundation Aiming, weapons, projectiles/hitscan, crosshair and first-person camera foundations. Full FPS workflows may still require custom setup during Early Access.
38 3D Platformer platformer_3d Early Access foundation 3D jump, checkpoints, collectibles, fall-reset and camera follow foundations.
39 City Builder / Colony Sim city_builder Beta Grid building placement, resource and population ticks, upgrades.
40 Tactical RPG tactical_rpg Beta Grid movement, turn order, action points, attack range, end turn.
41 Action Adventure action_adventure Beta Interact, pickups, door/key unlocks, objectives, zone transitions.
42 Creature Collector creature_collector Early Access foundation Encounters, capture chance, roster, level-up, evolution and bestiary foundations.

#Scene Composer

Scene Composer is the place to browse, create, duplicate, and export scenes from templates. The current package README identifies 154 unique Scene Composer template entries, while the package itself contains 36 bundled .tscn scene/runtime UI files. Public docs should use that distinction instead of saying only “36 scene templates.”

Use Scene Composer when you want to:

  • Start from a template instead of a blank scene.
  • Create a first playable scene quickly.
  • Explore genre-specific starter scenes.
  • Duplicate a scene safely before experimenting.
  • Export or save a template-derived scene into your project.

Beginner task: create a Platformer or Action RPG test scene, save it, validate it, and run Quick Play before editing it deeply.

#Understanding scene-template counts

Dreamcatcher has several scene/template numbers because they describe different things:

  • 154 unique DreamTemplateData templates exist in the template data registry.
  • These are merged through 43 internal template data groups.
  • The Scene Composer UI currently shows 36 visible category groups.
  • Those visible groups currently list 149 unique template names.
  • The package separately contains 36 bundled .tscn files used for scenes, UI, demos, or editor/runtime surfaces.

So if you see “154 templates” and “36 .tscn files,” they are not contradictory. They count different parts of the package.

#Generated asset workflow

Generated assets are project-owned outputs tracked by Dreamcatcher. A generated asset can include metadata, preview data, generation presets, reports, output paths, dependencies, validation status, and assignment metadata.

The public workflow is:

Generate
→ Preview
→ Inspect metadata
→ Read the report
→ Validate
→ Assign/apply if supported
→ Save inside the project
→ Reuse, duplicate, regenerate if supported, or clean up

Generated outputs should normally live under res://dream/generated/; generated database resources should live under res://dream/database/; registry records live under res://dream/generated/_registry/.

#Assignment boundary

In v0.9.4, Apply/Assign can write safe metadata and supported fields to known Dream resources. Some assignments are metadata-only so the asset can be traced and validated. Full runtime binding for every generated audio/VFX/UI/animation case is not a v0.9.4 promise.

#Direct regeneration boundary

Direct regeneration is supported for stored dungeon/map/overworld presets. Other types may be viewable, duplicated, deleted, assigned, or validated, but regeneration may be disabled until deterministic preset contracts exist.

#Generated Asset Browser

Full feedback course: after this reference section, use Make the loop feel alive for the complete audio, animation, VFX, camera, cinematic, UI feedback, validation, and Quick Play walkthrough.

Generated Asset Browser is the library for content created by Dreamcatcher. Use it to keep generated work from becoming scattered files.

Use it to:

  • Browse generated outputs by type.
  • Inspect metadata, previews, reports, output paths, dependencies, and validation status.
  • Validate generated asset records and outputs.
  • Duplicate useful generated assets.
  • Delete failed experiments safely, while understanding whether output files remain project-owned.
  • Assign icons, sprites, audio/VFX metadata, formulas, palettes, loot/name tables, UI scenes, and database references where supported.
  • Regenerate supported map/dungeon/overworld outputs from stored presets.

If a generated output exists on disk but does not appear in the browser, run validation, refresh the Godot filesystem, and check whether the registry record exists under res://dream/generated/_registry/.

#What Assign/Apply means in v0.9.4

Assign/Apply is safe but not automatical. In v0.9.4 it can write supported fields and metadata to known Dream resources. Some assignments are intentionally metadata-only so you can trace, validate, and organize the generated asset. Full automatic runtime binding for every audio, VFX, UI, animation, and generated content case is not a v0.9.4 promise.

#Assignment-key reference for generated assets

Assignment family Examples v0.9.4 expectation
UI sounds confirm, cancel, click, error Metadata or supported resource assignment; test runtime.
Interaction sounds chest open, door open, item pickup Metadata or supported resource assignment; test interaction.
Quest/battle sounds quest start/complete, battle start/victory/defeat Metadata or supported assignment; validate references.
Character visuals actor portrait, battle sprite, overworld sprite Supported resource fields where available.
Enemy visuals enemy portrait, battle sprite Supported resource fields where available.
UI/theme assets UI scene, theme palette, title/dialogue background Metadata or supported assignments.
Data helpers loot table, name table, database reference, damage formula Stored resource/data references.

#Generated asset type reference

Tip: hover or focus the help markers and table rows for short explanations.

These are the canonical 18 generated asset registry types in v0.9.4. Database concepts such as items, enemies, quests, shops, skills, crafting rules, and dialogue are usually represented as database_resource, loot_table, name_table, or related resource outputs, not as separate top-level generated asset types.

# Type key Public label Constant
1 map Map TYPE_MAP
2 overworld Overworld TYPE_OVERWORLD
3 dungeon Dungeon TYPE_DUNGEON
4 sprite Sprite TYPE_SPRITE
5 icon Icon TYPE_ICON
6 music Music TYPE_MUSIC
7 sfx SFX TYPE_SFX
8 vfx VFX TYPE_VFX
9 loot_table Loot Table TYPE_LOOT_TABLE
10 database_resource Database Resource TYPE_DATABASE_RESOURCE
11 name_table Name Table TYPE_NAME_TABLE
12 palette Palette TYPE_PALETTE
13 shape_3d 3D Shape TYPE_SHAPE_3D
14 isometric_scene Isometric Scene TYPE_ISOMETRIC_SCENE
15 dialogue_ui Dialogue UI TYPE_DIALOGUE_UI
16 formula_preset Formula Preset TYPE_FORMULA_PRESET
17 converted_image Converted Image TYPE_CONVERTED_IMAGE
18 converted_audio Converted Audio TYPE_CONVERTED_AUDIO

Common user interpretation:

  • Map / Overworld / Dungeon: generated layout content that may become editable map scenes with layers and regions.
  • Sprite / Icon / Converted Image: visual assets usable by UI, items, actors, enemies, or scenes.
  • Music / SFX / Converted Audio: audio outputs that can be assigned as metadata or to supported resources.
  • VFX: visual effects that can be tracked and assigned where supported.
  • Database Resource: generated game-data resources such as items, shops, enemies, quests, skills, or related .tres files.
  • Loot Table / Name Table / Palette / Formula Preset: reusable data helpers for content generation, UI, combat, naming, themes, or balancing.
  • 3D Shape / Isometric Scene / Dialogue UI: specialized generated content with project-owned records and validation.

#Database resources and game data

Database resources are reusable game-data files. They can represent actors, items, enemies, quests, cards, dialogue, shops, weapons, armor, crafting rules, loot tables, map-region data, creature-collector data, sports/racing configs, and more.

Use the Database tool when you want to create or edit structured game content. Use generated database workflows when you want Dreamcatcher to create starter data under res://dream/database/.

Basic resource workflow:

  1. Choose the resource category, such as Item, Enemy, Quest, Shop, Skill, or Dialogue.
  2. Create the resource or open an existing .tres file.
  3. Fill required fields such as ID/name/description/references.
  4. Assign generated icons, loot tables, name tables, formulas, or palettes where supported.
  5. Save into your project, preferably under a clear folder such as res://dream/database/items/ or your normal project folders.
  6. Validate to catch missing IDs, missing icons, invalid references, duplicate IDs, or incomplete relationships.

#Map Editor and TileMapLayer workflows

Map Editor is for map painting, map organization, and map gameplay metadata. v0.9.4 generated dungeons and overworlds can create editable DreamMapRoot scenes under res://dream/maps/generated/ using real TileMapLayer layers where supported.

Use Map Editor when you want to:

  • Paint or edit a map.
  • Organize layers such as terrain, walls, objects, collision, navigation, or visual detail.
  • Place map events like doors, chests, NPCs, triggers, spawns, or exits.
  • Paint gameplay regions such as encounter zones, music zones, weather zones, safe/danger zones, or fast travel points.
  • Validate map structure before testing.

Beginner task: create a small map with one floor layer, one obstacle/collision area, one NPC/event, one region, and one Quick Play test.

#Map events

Map events are user-facing gameplay objects placed on maps. They are useful for classic adventure/RPG workflows and for visual no-code logic.

Event type Use it for Common mistake
Door / Transfer Move player to another area, scene, or map point. Missing destination, wrong target scene, no spawn point.
Chest Give an item, play SFX/VFX, then mark opened. Missing item resource, repeated rewards, no opened state.
NPC Show dialogue, start quest, open shop, or give information. Missing dialogue resource, no interaction trigger, broken quest reference.
Trigger Start a cutscene, change variable, spawn enemy, play sound, or transition. Trigger area too small, wrong collision layer, no action assigned.
Spawn / Exit Mark where actors enter or leave a map. Missing link between entrance and destination.

#Regions, encounters, music, weather, collision, and navigation

Regions give parts of a map gameplay meaning. v0.9.4 documentation can describe more than only encounters/music/weather. Public map-region behavior can include biome, encounter, music zone, weather zone, quest zone, cutscene trigger, safe zone, danger zone, fast travel, spawn, collision, navigation, and custom markers.

Practical examples:

  • Paint an encounter region to control enemy encounter behavior.
  • Paint a music zone to mark where a map BGM should apply.
  • Paint a weather zone to mark rain, fog, storm, or ambience behavior.
  • Paint a safe zone where random encounters or danger effects should stop.
  • Paint collision and navigation helpers to guide movement and pathfinding setup.
  • Paint a fast travel region to connect to another map or hub.

#Classic 48x48 layout workflows and asset rights

Dreamcatcher can help with Classic 48x48 tilesheet layout workflows and Godot-native TileSet setup. This should be described as layout compatibility, not as ownership of third-party artwork.

Safe public wording:

Classic 48x48 layout support means Dreamcatcher can help organize tilesheet-style workflows commonly used in grid-based 2D games. Only import artwork you created, own, or are licensed to use. Dreamcatcher does not grant rights to third-party proprietary assets.

Do not imply Dreamcatcher includes or licenses RPG Maker RTP/default/proprietary art. Use Dreamcatcher-owned wording such as Classic 48x48 layout profiles, compatible tilesheet import, Godot-native TileSet workflow, and asset-rights guidance.

#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
Term Meaning
Trigger The thing that starts logic. Example: player interacts, actor enters area, timer ends.
Condition A check before an action. Example: player has key, quest is active, variable is true.
Action What happens. Example: show dialogue, give item, open door, play sound.
Variable / switch A remembered value used by logic. Example: chest opened, quest started, door unlocked.
Sequence A saved chain/graph of logic steps.
Feedback Sound, 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.

#UI Builder

Full feedback course: after this reference section, use Make the loop feel alive for the complete audio, animation, VFX, camera, cinematic, UI feedback, validation, and Quick Play walkthrough.

UI Builder helps create menus, HUDs, and visual interface layouts. Use it for title screens, pause menus, feature list, dialogue boxes, health/mana/stamina bars, quest trackers, shop UI, settings screens, mobile layouts, and controller-friendly UI.

Basic workflow:

  1. Choose the UI type or template.
  2. Pick layout and theme settings.
  3. Customize labels, icons, colors, sizing, and placement.
  4. Connect UI elements to resources or game state where supported.
  5. Preview the UI.
  6. Save it as project content.
  7. Add it to a scene and test.

Beginner task: create a simple HUD with health, currency/score, and one item/icon slot. Validate missing textures and test it in a small scene.

#Narrative Weaver

Narrative Weaver is for dialogue, branching stories, choices, quests, and story flow. Use it when your game needs conversations, story beats, NPC responses, affection/relationship changes, quest starts/completions, or cutscene-like dialogue sequences.

Beginner workflow:

  1. Create a dialogue or chapter resource.
  2. Add speaker names and lines.
  3. Add a choice if needed.
  4. Connect the dialogue to an NPC or map event.
  5. Validate missing portraits, backgrounds, variables, or quest references.
  6. Quick Play and test the conversation.

#Sound Studio and SFX

Full feedback course: after this reference section, use Make the loop feel alive for the complete audio, animation, VFX, camera, cinematic, UI feedback, validation, and Quick Play walkthrough.

Sound Studio and SFX generation tools help create, preview, organize, and assign audio. Generated SFX/music outputs can be registered as generated assets with metadata and output paths.

Use audio assignments for cases such as UI confirm/cancel/click/error, chest open, door open, item pickup, quest start/complete, battle start/victory/defeat, enemy hit/death, player hit/death, skill cast, spell impact, map BGM, battle BGM, region BGM, and weather ambience.

v0.9.4 assignment reminder: audio assignments can store metadata and supported resource fields. Full runtime binding for every case is not guaranteed by v0.9.4 alone.

#VFX, Animation Studio, and Cinematic Editor

Full feedback course: after this reference section, use Make the loop feel alive for the complete audio, animation, VFX, camera, cinematic, UI feedback, validation, and Quick Play walkthrough.

Use VFX for visual feedback, Animation Studio for sprite/skeletal animation authoring or preset work, and Cinematic Editor for cutscenes, camera moves, event timing, dialogue beats, audio timing, and scene transitions.

Beginner cinematic task:

  1. Start a scene.
  2. Move or focus the camera on an NPC/object.
  3. Show dialogue.
  4. Play a sound or VFX.
  5. Return control to the player.
  6. Validate missing audio/VFX/dialogue references.

#Procedural Toolkit

Procedural Toolkit is the broad generation workspace for sprites, palettes, maps, audio, VFX, and related generated content. Use it when you want Dreamcatcher to create starting material that can later be inspected, saved, validated, and reused.

Recommended workflow: generate a small result, inspect the preview/report, save into res://dream/generated/, register it in Generated Asset Browser, validate it, then assign or reuse it only after checking output quality.

#Asset Pipeline and converters

Asset Pipeline processes external and generated assets into project content. Converters can produce converted images/audio and related generated asset records where supported.

Use this area when you want to import, convert, slice, stitch, export, or prepare external files. Keep asset-rights rules in mind: only import files you created, own, or are licensed to use.

#Gameplay Director

Gameplay Director helps configure gameplay rules, pacing, and director logic. It is useful for enemy packs, loot tables, quest chains, items/gear generation, difficulty pacing, and genre-specific gameplay scaffolding.

Beginner task: in an Action RPG test project, generate or create one enemy, one loot table, one item, and one simple quest, then validate all references before using them in a scene.

#Ideation Board

Ideation Board is for planning. Use it to organize ideas, references, game design notes, mechanics, tasks, and concept directions before building. For beginners, it is a safe place to decide the first playable loop before opening complex tools.

#AI Dream Advisor

AI Dream Advisor provides guided answers about Dreamcatcher tools, DNA profiles, and workflows. Treat it as a helper for navigation and planning, not as a guarantee that a feature is complete or validated. Always check Content Validator and actual project behavior.

#Content Validator and generated asset validation

Full feedback course: after this reference section, use Make the loop feel alive for the complete audio, animation, VFX, camera, cinematic, UI feedback, validation, and Quick Play walkthrough.

Validation helps find missing references, incomplete resources, unsafe paths, broken generated assets, map issues, and export-preflight problems before they become harder to debug.

Common validation categories:

  • Missing scene reference.
  • Missing icon/audio/VFX/texture.
  • Missing generated asset metadata.
  • Invalid or duplicate resource ID.
  • Map event missing target.
  • Quest missing reward/objective/reference.
  • Shop missing item resource.
  • Export template missing.
  • Unsupported platform assumption.
  • Asset path inside plugin folder.
  • Orphan/stale generated asset registry record.

Warnings do not always mean the content is unusable. They mean you should inspect and decide whether the warning matters. Errors usually require fixing before relying on the result.

#Performance Panel

Performance Panel is for inspecting runtime performance and budgets. Use it after a prototype becomes larger, when maps feel slow, when many generated assets are loaded, or when UI/audio/VFX systems become heavy.

Beginner rule: do not optimize before you have a playable scene. Intermediate rule: if Quick Play feels slow, validate content, clean unused assets, and inspect performance before adding more systems.

#Module Manager and missing features

Dreamcatcher has 50 module IDs, and autoload/custom-type registration is gated by module state. This matters because users may think a node or feature is missing when its module is disabled.

Use Module Manager when:

  • A tool or node is missing.
  • A Genre DNA profile does not expose expected systems.
  • You want a smaller/minimal project setup.
  • You are troubleshooting plugin load behavior.
  • You need to validate the module registry.

Advanced setting: dreamcatcher/advanced/no_autoload_mode skips autoload registration. Most users should leave it off. If it is enabled, runtime systems that depend on autoloads may not be available.

#Migration Assistant

Migration Assistant helps upgrade older project or save data to current schemas. Use it when opening older Dreamcatcher projects, after plugin updates, or when validation reports schema/version problems.

Before migration: back up your project. After migration: run Content Validator, open affected scenes/resources, and test with Quick Play.

#Bake Manager and Exit Ladder

Bake Manager helps bake/export project resources and data tables. The Exit Ladder / no-lock-in idea means users should understand how their work lives as Godot project content and how much of it can remain useful outside active editor workflows.

Use Bake Manager when you want to prepare resources for export, freeze generated data into project-owned files, or reduce dependence on live generation workflows. Validate after baking.

#Asset Cleaner

Asset Cleaner helps find unused or orphaned assets. Use it after heavy generation sessions, after deleting experiments, or before release/export preparation.

Safety rule: review before deleting. Registry records can sometimes be removed while output files remain project-owned. Existing target-resource assignment writes may also remain after a registry record is removed.

#Export Manager and export preflight

Full feedback course: after this reference section, use Make the loop feel alive for the complete audio, animation, VFX, camera, cinematic, UI feedback, validation, and Quick Play walkthrough.

Export Manager helps configure export presets and prepare builds using Godot’s standard export workflow. Export Preflight helps find missing templates, missing files, configuration warnings, and platform-specific preparation issues.

What to expect:

Export Manager and Export Preflight help you prepare for Godot’s standard export workflow. Some platforms require Godot export templates, external SDKs, platform accounts, or platform-holder approval. Dreamcatcher does not guarantee turnkey console export.

#Export Preflight does not replace Godot export requirements

Export Manager and Export Preflight help you prepare your project. They do not remove the need for Godot export templates, platform SDKs, platform accounts, mobile signing setup, console platform-holder approval, or testing the exported build.

Preflight checklist:

  • Run Content Validator.
  • Run Generated Asset validation.
  • Check scenes used by the project.
  • Check missing textures/audio/resources.
  • Check export templates.
  • Check platform-specific settings.
  • Export a test build if possible.
  • Test the exported build, not only the editor playtest.

#Example project scenarios

These scenarios are the learning spine of the documentation. Follow them in order when learning Dreamcatcher for the first time. Each scenario builds a small playable loop before adding more complexity.

Rule: Do not begin with your dream game. Build a small prototype first: one scene, one player, one interaction, one validation pass, and one Quick Play test.

#First day learning plan

#Hour 1

Install Dreamcatcher, enable the plugin, choose Universal, create one scene, and save it.

#Hour 2

Add one visible object and one simple reaction.

#Hour 3

Run Content Validator, Quick Play, fix one warning, and save again.

#Day 2

Repeat the same small loop in the genre you actually want to make.

#Scenario A: Absolute beginner first scene

Goal: make one playable scene with one simple interaction.

Difficulty: child / first-time beginner.

Tools: Genre DNA → Scene Composer → Visual Logic or Map Event → Content Validator → Quick Play.

Output: one saved .tscn scene and one working interaction.

Step 0

#Start safely

Click pathGodot Project Manager → New Project → empty folder → Create & Edit
What to doCreate a clean test project instead of using your main dream project.
WhyA safe test project lets you learn without breaking important work.
Expected resultGodot opens a blank project.
Created/changedA project folder and project.godot file.
If it failsUse a shorter folder path with no unusual symbols, then reopen the project.
Continue whenGodot opens the project with no immediate errors.
Step 1

#Enable Dreamcatcher

Click pathProject → Project Settings → Plugins → Dreamcatcher → Enable
What to doTurn the plugin on.
WhyDreamcatcher tools do not appear until the plugin is enabled.
Expected resultDreamcatcher docks, menus, or tool panels appear in the editor.
Created/changedPlugin settings and editor registrations.
If it failsCheck that the addon is under res://addons/dreamcatcher/, then restart Godot.
Continue whenYou can see Dreamcatcher tools in the editor.
Step 2

#Choose Universal or Platformer DNA

Click pathDreamcatcher dock → Genre DNA / Almanac → Universal or Platformer → Apply/Use profile
What to doChoose a simple direction. Universal is safest if you are unsure; Platformer is best if you want movement and jumping.
WhyDNA filters the tool recommendations so the plugin feels smaller.
Expected resultRelevant templates and tool suggestions become easier to find.
Created/changedWorkflow/profile selection.
If it failsChoose Universal if the selector is unclear.
Continue whenA profile is selected and you know why you chose it.
Step 3

#Create a starter scene

Click pathScene Composer → beginner / empty / platformer starter template → Create/Duplicate/Export scene
What to doCreate one small scene, not a full game.
WhyA scene is the room where your first player, object, camera, and test interaction live.
Expected resultA .tscn scene appears in the FileSystem or opens in the editor.
Created/changed.tscn scene file, preferably in a project-owned folder.
If it failsCreate a normal Godot 2D scene first, then add Dreamcatcher objects later.
Continue whenThe scene opens and can be saved.
Step 4

#Add one visible object

Click pathScene Composer → pickup template or Map Editor → Event Paint → Pickup template → click map cell
What to doPlace one object: pickup, door, NPC, or trigger. Start with a pickup if you are new.
WhyThe first object proves the scene can react to the player.
Expected resultA visible object appears in the scene or map.
Created/changedPickup node, event, or map object.
If it failsPlace a simple visible object first; connect logic later.
Continue whenYou can see the object in the scene.
Step 5

#Give the object one reaction

Click pathVisual Logic → New graph/sequence → Event/Trigger → Action → Save as .dcs
What to doMake the object show a message, play a sound, or disappear when used.
WhyA reaction turns a decoration into gameplay.
Expected resultA graph, sequence, or map-event page exists.
Created/changed.dcs graph/logic file, event page, or command list.
If it failsStart with a simple message before trying feature list, quests, or variables.
Continue whenYou have one clear reaction saved.
Step 6

#Attach the reaction to the object

Click pathSelect object → Inspector → DreamBehavior.logic_script or Map Event Editor → event page/sequence field
What to doAssign the saved reaction to the object or event.
WhyA graph in the FileSystem does nothing until something runs it.
Expected resultThe selected object/event points to the reaction.
Created/changedObject property, DreamBehavior assignment, or event page link.
If it failsCheck file path, trigger type, start node, and Content Validator output.
Continue whenThe object knows which reaction to run.
Step 7

#Validate the scene

Click pathDreamcatcher dock → Content Validator → Validate current scene/project
What to doRun validation before testing.
WhyValidation catches missing resources, broken paths, and obvious setup mistakes.
Expected resultA report appears with success, warnings, or errors.
Created/changedValidation report; safe fixes only if you apply them.
If it failsFix the first clear warning only, then validate again.
Continue whenNo blocking error stops the first test.
Step 8

#Quick Play

Click pathDreamcatcher Quick Play or Godot Play Current Scene
What to doRun the scene and touch or interact with the object.
WhyOnly playtesting proves the loop works.
Expected resultThe object reacts during play.
Created/changedNo content unless the game updates state while testing.
If it failsCheck collision/trigger area, graph assignment, and player reachability.
Continue whenThe interaction works in play mode.
Step 9

#Save and name the success

Click pathGodot Scene → Save Scene
What to doSave the scene and remember where it is.
WhyBeginners often create something, test it, then lose track of the file.
Expected resultThe scene can be reopened and tested again.
Created/changedSaved .tscn scene and related resources.
If it failsUse a clear name such as FirstPlayableRoom.tscn.
Continue whenYou can reopen the scene and repeat the working test.
Done when: the scene opens, the interaction works, Content Validator has no blocking error, and you know where the scene/resources are saved.

#Scenario B: 2D Platformer vertical slice

Goal: make a small level with movement, pickup, hazard, checkpoint, exit, and optional HUD.

Difficulty: beginner after Scenario A.

Tools: Platformer DNA → Scene Composer → Map Editor or Scene Composer → Visual Logic → UI Builder → Content Validator → Quick Play.

Output: one small platformer level that can be started, played, failed, recovered, and completed.

Step 1

#Choose Platformer DNA

Click pathDreamcatcher dock → Genre DNA / Almanac → Platformer → Apply/Use profile
What to doSelect Platformer as the main workflow.
WhyPlatformer DNA prioritizes movement, hazards, pickups, checkpoints, camera, level-complete patterns, and templates.
Expected resultPlatformer-related templates/tools become easier to find.
Created/changedWorkflow/profile selection.
If it failsChoose Universal and manually open Scene Composer/Map Editor if the selector is unclear.
Continue whenPlatformer or Universal is selected.
Step 2

#Create or open a platformer scene

Click pathScene Composer → Platformer category/template → create/duplicate/export starter scene
What to doCreate a small level, not a full world.
WhyPlatformers need a player, ground/collision, camera, and level boundaries.
Expected resultA scene opens with a player or player placeholder and level area.
Created/changed.tscn platformer scene.
If it failsCreate a normal 2D scene, add a player scene/node, floor collision, and camera.
Continue whenThe scene runs without immediate errors.
Step 3

#Confirm player spawn

Click pathScene tree → Player / PlayerSpawn / Spawn / start marker
What to doMake sure the player starts above the ground and not inside a wall.
WhyIf spawn is wrong, the player can fall forever, get stuck, or die immediately.
Expected resultThe player appears at the start area when you press Play.
Created/changedPlayer position or spawn marker.
If it failsMove the spawn/player upward and away from hazards.
Continue whenThe player starts safely.
Step 4

#Confirm camera follow

Click pathScene tree → Camera2D / DreamCamera2D → enabled/current/follow target
What to doMake sure the camera keeps the player visible.
WhyWithout camera follow, the player can walk off-screen.
Expected resultThe camera follows or frames the player during movement.
Created/changedCamera setting or follow target.
If it failsMake the camera current/enabled or attach it to the player according to the template.
Continue whenThe player stays visible.
Step 5

#Add a pickup

Click pathScene Composer → pickup template or Map Editor → Event Paint → Pickup template
What to doPlace a coin, gem, potion, or score pickup in a reachable place.
WhyPickups teach reward feedback and object interaction.
Expected resultA pickup appears in the level.
Created/changedPickup node/event.
If it failsMove it above ground and away from walls.
Continue whenThe player can reach the pickup.
Step 6

#Connect pickup to feedback

Click pathVisual Logic / Map Event Editor → on touch/interact → add score/item → play sound/show notification
What to doMake the pickup change score, coins, resource, or message.
WhyThe player needs proof that collecting did something.
Expected resultTouching the pickup gives visible/audio feedback.
Created/changedVariable/resource change and optional SFX/UI feedback.
If it failsFirst make static feedback appear, then connect real score.
Continue whenPickup feedback appears in Quick Play.
Step 7

#Add a hazard

Click pathScene Composer / Map Editor → hazard/spike/damage zone template
What to doPlace one danger object after the pickup.
WhyA platformer needs a fail condition, but only one at first.
Expected resultTouching the hazard damages, resets, or respawns the player.
Created/changedHazard node/event/region and logic.
If it failsMake the hazard visible and test with a gentle reset first.
Continue whenThe hazard effect is understandable.
Step 8

#Add a checkpoint

Click pathScene Composer / Map Editor → checkpoint template
What to doPlace a safe recovery point after a challenge.
WhyCheckpoints make failure less frustrating.
Expected resultTouching the checkpoint updates respawn position or state.
Created/changedCheckpoint node/event and save/respawn state.
If it failsUse a simple notification first: “Checkpoint reached.”
Continue whenAfter failure, the player returns near the checkpoint.
Step 9

#Add an exit trigger

Click pathScene Composer / Map Editor → exit / level complete / trigger template
What to doPlace a finish flag, door, or zone at the end.
WhyA vertical slice needs an ending so the player knows they succeeded.
Expected resultEntering the trigger shows level-complete feedback or changes scene.
Created/changedExit node/event/graph.
If it failsUse a message before trying scene changes.
Continue whenThe player can finish the level.
Step 10

#Add a minimal HUD if needed

Click pathUI Builder → HUD layout → Label / Resource Counter → save/export .tscn
What to doShow score, coins, HP, or checkpoint status.
WhyHUD gives the player a simple scoreboard.
Expected resultA small HUD appears in the scene.
Created/changedUI scene/resource and scene instance.
If it failsFirst show static text; make it dynamic later.
Continue whenHUD appears during Quick Play.
Step 11

#Validate and Quick Play

Click pathContent Validator → Validate → Quick Play
What to doRun the validator, then test the whole loop.
WhyA platformer vertical slice must prove spawn, movement, camera, pickup, hazard, checkpoint, exit, and HUD.
Expected resultThe level can be completed from start to finish.
Created/changedValidation report; no content unless safe fixes are applied.
If it failsFix one warning at a time.
Continue whenYou can play from spawn to exit.
Validation gates: player spawns, camera follows, collision works, pickup feedback appears, hazard works, checkpoint works, exit works, and HUD appears if you added one.

#Scenario C: Action RPG quest loop

Goal: an NPC gives a quest, the player defeats one enemy, then receives a reward.

Difficulty: beginner/intermediate.

Tools: Action RPG DNA → Database → Map Editor/Scene Composer → Narrative Weaver → Visual Logic → Content Validator → Quick Play.

StepActionWhyExpected result
1Choose Action RPG DNA.Prioritizes actors, enemies, quests, loot, maps, and NPCs.Action RPG workflow is selected.
2Create a small room or field scene.Keeps the quest loop testable.A playable test area exists.
3Create one quest resource in Database.The quest needs a stable data record.A quest resource exists with objective and reward.
4Create one enemy and one reward item.The quest must have a target and payoff.Enemy and item resources exist.
5Place one NPC and connect dialogue.The player needs someone who gives the quest.NPC starts the quest through dialogue/event logic.
6Place one enemy encounter.The quest needs a simple objective.Defeating the enemy updates the objective.
7Connect reward and completion.The loop must end cleanly.Player receives reward once and quest completes.
8Validate and Quick Play.Confirms the full loop works.Quest starts, updates, rewards, and completes.
Do not continue until: the quest starts, the enemy objective updates, the reward item exists, and the reward cannot be claimed infinitely unless intended.

#Scenario D: Visual Novel route

Goal: one dialogue scene with one choice and one variable/branch.

Tools: Visual Novel DNA → Narrative Weaver → UI Builder → Visual Logic → Sound Studio → Content Validator.

StepWhat to doWhyExpected result
1Choose Visual Novel DNA.Prioritizes dialogue, choices, characters, backgrounds, and UI.VN-friendly workflow is selected.
2Create a dialogue/chapter in Narrative Weaver.Story needs a sequence container.A dialogue flow exists.
3Add one character line.The player needs a readable scene beat.Dialogue text appears.
4Add one player choice.Choices create branching.Two branches exist.
5Set one variable or switch from the choice.The game needs memory of the choice.A value changes when the player chooses.
6Preview dialogue and validate.Catches missing branches and broken references.Dialogue can be tested from start to branch.

#Scenario E: Generated dungeon RPG prototype

Goal: generate a small dungeon, inspect it, turn it into editable project content, add one event, validate, and test.

Tools: Procedural Toolkit → Generated Asset Browser → Map Editor → Database → Content Validator.

StepActionWhyExpected result
1Open Procedural Toolkit → Dungeon/Maps.Start with the map generator designed for this job.Dungeon settings are visible.
2Set a small size first, then Generate.Small outputs are easier to debug.A generated dungeon asset appears.
3Open Generated Asset Browser.Every generated asset should be inspectable.The dungeon appears with metadata/report.
4Open or convert it as editable map content.Generated content should become project content.Editable map/scene is available.
5Add one chest, enemy, or exit.A dungeon needs at least one gameplay event.An event exists in the dungeon.
6Validate and Quick Play.Checks generated content paths and gameplay setup.Dungeon can be entered and tested.

#Scenario F: Advanced hybrid game from scratch to preflight

Goal: build a complex prototype safely one loop at a time.

Difficulty: advanced; not first-day material.

Tools: Ideation Board → Genre DNA → Database → Map Editor → Visual Logic → UI/Sound/Generated Assets → Validator → Export Manager.

PhaseSmall first versionContinue only when
Core loopOne player, one map, one interaction.You can play it twice without changing code.
Quest loopNPC asks player to defeat one enemy.Quest starts, updates, rewards, and completes.
Collection loopOne enemy/item can be captured or added to roster/feature list.The save state survives scene reload/test.
UI feedbackOne HUD value updates.Player understands what changed.
Audio/VFX feedbackOne action plays sound or VFX.Feedback is clear but not noisy.
PreflightRun validation and export preparation.Blocking issues are fixed or documented.
Warning: hybrid games fail when everything is connected before anything works alone. Add one subsystem only after the previous one is playable.

#Scenario G: Existing project adoption

Goal: add Dreamcatcher to an existing Godot project without damaging it.

Tools: Backup → Install plugin → Module Manager → Content Validator → Separate test scene.

  1. Back up the whole project folder.
  2. Open the copy, not the original.
  3. Install and enable Dreamcatcher.
  4. Do not move existing files yet.
  5. Create one separate Dreamcatcher test scene.
  6. Run Content Validator and read warnings before applying fixes.
  7. Adopt tools gradually: Scene Composer, Visual Logic, Generated Asset Browser, then other systems.
Done when: the existing project still runs, the test scene works, and validation results are understood.

#Scenario H: First map-based RPG room

Goal: make one small room with player spawn, NPC/sign, chest, and exit door.

Tools: Universal or Action RPG DNA → Map Editor → Database → Map Event Editor → Visual Logic → Content Validator.

  1. Choose Universal or Action RPG DNA.
  2. Open Map Editor and create a small map, such as 10×10.
  3. Assign a user-owned tileset or placeholder TileSet.
  4. Paint ground first, then walls.
  5. Place player spawn in a safe tile.
  6. Place one NPC or sign and one chest.
  7. Add one exit door or transfer trigger.
  8. Validate and Quick Play.
Expected result: the player appears in the room, talks to one NPC/sign, opens one chest once, and uses one exit door.

#Scenario I: First HUD from zero

Goal: display one value on screen: score, coins, HP, or quest text.

Tools: UI Builder → Visual Logic/variables → Content Validator → Quick Play.

  1. Decide one value to show: score, coins, HP, or quest text.
  2. Open UI Builder and choose a HUD layout.
  3. Add a Label or Resource Counter.
  4. Name it clearly, such as ScoreLabel or CoinCounter.
  5. Preview the UI.
  6. Save/export as a .tscn UI scene.
  7. Instance it in the playable scene.
  8. First show static text; connect dynamic values later.
Beginner rule: first make static text appear. Then make it update. Do not try both at once.

#Scenario J: First Visual Logic graph from zero

Goal: create a graph that shows a message when the player interacts.

Tools: Visual Logic → DreamBehavior or Map Event → Content Validator → Quick Play.

Output: one saved .dcs graph attached to something real.

  1. Open Visual Logic.
  2. Create a new graph or sequence.
  3. Add a start/event node.
  4. Add one action node, such as show dialogue, show notification, or print message.
  5. Connect the execution wire.
  6. Save the graph as a .dcs file.
  7. Select a scene object or map event.
  8. Attach the graph through DreamBehavior or the event editor.
  9. Validate and Quick Play.
Important: a graph sitting in the FileSystem does nothing by itself. It must be attached to a scene object or map event.

#Micro-tutorials for common first tasks

#Make a chest that opens once

  1. Create a reward item in Database.
  2. Place a chest event in Map Editor.
  3. Page 1: show message, add item, play sound, set self-switch A.
  4. Page 2: condition self-switch A; show “already opened.”
  5. Validate and Quick Play.

#Make a locked door with a key

  1. Create a key item.
  2. Place a door event.
  3. If player has key: unlock/open/transfer.
  4. Else: show “Locked.”
  5. Validate and test both outcomes.

#Make an NPC start a quest

  1. Create a quest resource.
  2. Place an NPC event.
  3. Add dialogue that explains the task.
  4. Set quest state to started.
  5. Validate and test the conversation.

This table gives the first safe action for each of the 24 featured tools. Use it when a beginner asks, “Where do I click first?” Exact button labels can vary slightly between Godot 4.7 stable and Godot 4.6.3.

ToolFirst click pathFirst safe actionExpected result
AlmanacDreamcatcher dock → AlmanacOpen the hub and choose one recommended next action.You know which tool to open next.
Visual LogicDreamcatcher dock → Visual LogicCreate Event → Action → Feedback graph.A saved `.dcs` or sequence exists.
Scene ComposerDreamcatcher dock → Scene ComposerChoose one starter template and create/export a scene.A `.tscn` scene exists.
UI BuilderDreamcatcher dock → UI BuilderChoose HUD layout, add one Label, preview, save.UI scene appears.
Narrative WeaverDreamcatcher dock → Narrative WeaverCreate two speaker lines and one choice.Dialogue resource/flow exists.
Map EditorDreamcatcher dock → Map EditorCreate small map, paint ground, add spawn.Map scene/layers exist.
Animation StudioDreamcatcher dock → Animation StudioPreview or create idle/walk animation.Animation data/preview exists.
Sound StudioDreamcatcher dock → Sound StudioGenerate/select one SFX and play it.SFX asset/record exists.
Cinematic EditorDreamcatcher dock → Cinematic EditorCreate fade → dialogue → return-control sequence.Cutscene sequence exists.
Sketch EnhancerDreamcatcher dock → Sketch EnhancerImport user-owned sketch, enhance, save/register.Generated visual asset record exists.
Gameplay DirectorDreamcatcher dock → Gameplay DirectorPlan one encounter/quest pacing loop.Gameplay rule/plan exists.
Ideation BoardDreamcatcher dock → Ideation BoardWrite five cards: player, goal, obstacle, reward, test.Small design plan exists.
Procedural ToolkitDreamcatcher dock → Procedural ToolkitGenerate one small dungeon/icon/palette/SFX.Generated asset report appears.
Generated Asset BrowserDreamcatcher dock → Generated Asset BrowserFilter, open one record, read metadata/report.You know output path and warnings.
AI Dream AdvisorDreamcatcher dock → AI Dream AdvisorAsk for next step, then verify with docs/validator.Guidance is reviewed, not blindly trusted.
DatabaseDreamcatcher dock → DatabaseCreate one Item or Enemy resource with clear ID.`.tres` resource exists.
Content ValidatorDreamcatcher dock → Content ValidatorValidate current scene or project.Warnings/errors report appears.
Asset PipelineDreamcatcher dock → Asset PipelineImport/process one user-owned image/audio file.Processed project content exists.
Performance PanelDreamcatcher dock → Performance PanelQuick Play and watch FPS/budget.Performance signal appears.
Module ManagerDreamcatcher dock → Module ManagerCheck enabled systems; do not enable everything blindly.Module state understood.
Migration AssistantDreamcatcher dock → Migration AssistantBack up, scan old content, migrate carefully.Migration report appears.
Bake ManagerDreamcatcher dock → Bake ManagerBake only after validation passes.Baked output/report exists.
Asset CleanerDreamcatcher dock → Asset CleanerReview unused generated tests before deleting.Cleanup candidates listed.
Export ManagerDreamcatcher dock → Export ManagerRun export preflight after validation.Export readiness report appears.

Tip: hover or focus the help markers and table rows for short explanations.

These are the canonical featured tools from the v0.9.4 tool catalog. The Welcome / Setup Wizard is onboarding and is not counted as a featured tool. Each tool below now includes a concrete first task so users do not face a feature dump.

# Tool Key Category Status Purpose
1 Almanac almanac Creation Stable Use it when your central hub for Dreamcatcher navigation, content, and project knowledge.
2 Visual Logic visual_logic Creation Stable Use it when you need no-code gameplay behavior.
3 Scene Composer scene_composer Creation Stable Use it when you want a starter scene instead of an empty scene tree.
4 UI Builder ui_builder Creation Stable Use it when you need HUDs, menus, feature list screens, or interface layouts.
5 Narrative Weaver narrative_weaver Creation Stable Use it when you need dialogue, choices, branches, chapters, or quest story flow.
6 Map Editor map_editor Creation Stable Use it when you need maps, TileMapLayer workflows, events, or gameplay regions.
7 Animation Studio animation_studio Creation Stable Use it when you need sprite/skeletal animation previews or presets.
8 Sound Studio sound_studio Creation Stable Use it when you need SFX, loops, music, or audio feedback.
9 Cinematic Editor cinematic_editor Creation Stable Use it when you need cutscenes, camera moves, timed events, or presentation beats.
10 Sketch Enhancer sketch_enhancer Asset Beta Use it when you want to clean rough sketches into usable visual assets.
11 Gameplay Director gameplay_director Creation Stable Use it when you want enemy/loot/quest pacing or gameplay rule scaffolding.
12 Ideation Board ideation_board Creation Stable Use it when you need to plan a game loop before building.
13 Procedural Toolkit procedural_toolkit Asset Stable Use it when you want to generate maps, sprites, palettes, audio, VFX, or helper content.
14 Generated Asset Browser generated_asset_browser Asset Stable Use it when you need to inspect, filter, validate, duplicate, assign, delete, or regenerate generated outputs.
15 AI Dream Advisor ai_dream_advisor System Stable Use it when you need guidance about tools, DNA profiles, or workflows.
16 Database database Creation Stable Use it when you need items, enemies, quests, shops, skills, actors, cards, or other data.
17 Content Validator content_validator Validation Stable Use it when you need to catch missing references and readiness problems.
18 Asset Pipeline asset_pipeline Asset Stable Use it when you need to import/process user-owned or generated assets into project content.
19 Performance Panel performance_panel System Stable Use it when you need to inspect runtime performance and budgets.
20 Module Manager module_manager System Stable Use it when a tool/node/profile appears missing or you need module control.
21 Migration Assistant migration_assistant System Stable Use it when you are opening older Dreamcatcher projects or schemas.
22 Bake Manager bake_manager Asset Stable Use it when you need to bake/export resources or data tables.
23 Asset Cleaner asset_cleaner Asset Stable Use it when you need to review unused/orphaned assets after experiments.
24 Export Manager export_manager System Stable Use it when you are preparing Godot export presets and preflight checks.

#Almanac

Status: Stable
Category: Creation
Use it when: your central hub for Dreamcatcher navigation, content, and project knowledge.

#First task

Open Almanac, locate Scene Composer, Database, Generated Asset Browser, and Content Validator.

#Inputs

A Godot project with Dreamcatcher enabled.

#Outputs

Navigation context, database access, and links into creation/validation tools.

#How it connects

Usually comes before choosing a tool; use it to return to the main workflow.

#Common mistakes

Opening every tool at once; treating reference pages as tutorials; ignoring validation links.

#Validation

Confirm you can find Scene Composer, Database, Generated Asset Browser, and Content Validator.

#Visual Logic

Status: Stable
Category: Creation
Use it when: you need no-code gameplay behavior.

#First task

Create an NPC interaction: player interacts → show dialogue.

#Inputs

A scene with an NPC/object and optional dialogue resource.

#Outputs

A saved interaction/sequence that can be tested in Quick Play.

#How it connects

Often follows Scene Composer or Map Editor and connects to Database/Narrative Weaver.

#Common mistakes

No trigger assigned; missing target resource; forgetting to save/test; collision layer mismatch.

#Validation

Run Quick Play and confirm the trigger fires once and produces visible feedback.

#Scene Composer

Status: Stable
Category: Creation
Use it when: you want a starter scene instead of an empty scene tree.

#First task

Create one Platformer or Action RPG starter scene and save it.

#Inputs

Enabled plugin and selected Genre DNA.

#Outputs

A saved scene or template-derived scene inside your project.

#How it connects

Usually comes after Genre DNA and before Visual Logic, UI, and validation.

#Common mistakes

Confusing .tscn file counts with template entries; editing template source instead of saved scene.

#Validation

Open the saved scene, run validator, and verify it can be played or inspected.

#UI Builder

Status: Stable
Category: Creation
Use it when: you need HUDs, menus, feature list screens, or interface layouts.

#First task

Create a simple HUD with health, score/currency, and one icon slot.

#Inputs

A scene or game state concept that needs display.

#Outputs

A UI scene/layout or configured interface elements.

#How it connects

Often follows Database/Generated Asset Browser and is tested through Quick Play.

#Common mistakes

Unreadable scaling; missing icons; untested controller/mobile layout.

#Validation

Preview and Quick Play the UI; validate missing textures or references.

#Narrative Weaver

Status: Stable
Category: Creation
Use it when: you need dialogue, choices, branches, chapters, or quest story flow.

#First task

Create a two-line NPC dialogue with one choice.

#Inputs

NPC/story idea, optional portraits/backgrounds, optional quest resource.

#Outputs

Dialogue/chapter/choice resources and story flow links.

#How it connects

Connects to Visual Logic, UI Builder, Database, and map events.

#Common mistakes

Choice branches with no destination; missing portraits; dialogue not connected to NPC.

#Validation

Quick Play conversation and confirm choice results and references.

#Map Editor

Status: Stable
Category: Creation
Use it when: you need maps, TileMapLayer workflows, events, or gameplay regions.

#First task

Create or open a small map, add one event, and paint one region.

#Inputs

A map scene, tileset, or generated map output.

#Outputs

Map layers, events, and region metadata.

#How it connects

Connects to Generated Asset Browser, Database, Visual Logic, and Content Validator.

#Common mistakes

Painting on wrong layer; missing event target; region has no behavior; invalid tileset rights.

#Validation

Validate map structure and test the event/region in Quick Play.

#Animation Studio

Status: Stable
Category: Creation
Use it when: you need sprite/skeletal animation previews or presets.

#First task

Import or select a sprite/animation preset and preview idle/walk.

#Inputs

Sprite or character visual asset.

#Outputs

Animation data/preset or configured animation resource.

#How it connects

Usually connects to actors, UI, VFX, or cinematics.

#Common mistakes

Wrong frame size; missing animation names; no preview before assignment.

#Validation

Preview animation and validate references before assigning to gameplay.

#Sound Studio

Status: Stable
Category: Creation
Use it when: you need SFX, loops, music, or audio feedback.

#First task

Generate or select one SFX and assign metadata to a chest/open action.

#Inputs

A sound need, action/event, or generated audio preset.

#Outputs

Music/SFX output, metadata, or resource assignment.

#How it connects

Connects to Generated Asset Browser, Visual Logic, map regions, and UI.

#Common mistakes

Assuming metadata assignment guarantees runtime behavior; missing output path; volume too loud.

#Validation

Preview audio, validate references, and test the interaction that should play it.

#Cinematic Editor

Status: Stable
Category: Creation
Use it when: you need cutscenes, camera moves, timed events, or presentation beats.

#First task

Create a small intro moment: camera focus → dialogue → return control.

#Inputs

A scene, camera, target object/NPC, and optional dialogue/audio.

#Outputs

Cinematic sequence/timing setup.

#How it connects

Connects to Narrative Weaver, Sound Studio, Animation Studio, and Visual Logic.

#Common mistakes

No return-to-control step; missing camera target; unvalidated dialogue/audio.

#Validation

Quick Play the sequence and confirm control returns properly.

#Sketch Enhancer

Status: Beta
Category: Asset
Use it when: you want to clean rough sketches into usable visual assets.

#First task

Import a sketch, produce a cleaned output, save it as a generated visual asset.

#Inputs

A user-owned sketch or licensed image.

#Outputs

Cleaned image output and/or generated asset record.

#How it connects

Connects to Asset Pipeline and Generated Asset Browser.

#Common mistakes

Using unlicensed art; expecting finished production art without review; saving into plugin folder.

#Validation

Check asset rights, preview output, and validate path/metadata.

#Gameplay Director

Status: Stable
Category: Creation
Use it when: you want enemy/loot/quest pacing or gameplay rule scaffolding.

#First task

Create one enemy, loot table, and basic encounter pacing setup.

#Inputs

A genre direction, simple game loop, and optional resources.

#Outputs

Gameplay pacing/rule configuration and related data.

#How it connects

Connects to Database, Visual Logic, Map Editor, and Content Validator.

#Common mistakes

Building too much before first loop works; missing reward/enemy references.

#Validation

Validate all enemy, loot, quest, and encounter references.

#Ideation Board

Status: Stable
Category: Creation
Use it when: you need to plan a game loop before building.

#First task

Define your first playable loop in 5 cards: player, goal, obstacle, reward, test.

#Inputs

A rough game idea.

#Outputs

Planning cards/notes that guide your first prototype.

#How it connects

Comes before Scene Composer and helps avoid feature overload.

#Common mistakes

Planning huge scope; never converting cards into a small playable test.

#Validation

Check that the board defines one small testable loop.

#Procedural Toolkit

Status: Stable
Category: Asset
Use it when: you want to generate maps, sprites, palettes, audio, VFX, or helper content.

#First task

Generate a small dungeon/map/icon/palette and register it.

#Inputs

A generation goal and safe project output folder.

#Outputs

Generated output, registry record, metadata/report where supported.

#How it connects

Feeds Generated Asset Browser, Map Editor, Database, Sound Studio, and validation.

#Common mistakes

Generating many tests without naming/validating; ignoring reports; overwriting useful outputs.

#Validation

Inspect record, preview/report, output path, and validation status.

#Generated Asset Browser

Status: Stable
Category: Asset
Use it when: you need to inspect, filter, validate, duplicate, assign, delete, or regenerate generated outputs.

#First task

Filter assets, inspect metadata, validate, duplicate, assign, and delete one test asset.

#Inputs

At least one generated or registered asset.

#Outputs

Managed asset records, assignments, duplicates, deletion decisions, or regeneration actions.

#How it connects

Sits after any generator and before assignment/cleanup/export.

#Common mistakes

Deleting without review; expecting every type to regenerate; confusing metadata-only assignments.

#Validation

Validate record, check output path, and test assigned content.

#AI Dream Advisor

Status: Stable
Category: System
Use it when: you need guidance about tools, DNA profiles, or workflows.

#First task

Ask which tools to use for your chosen genre, then verify advice with docs/validator.

#Inputs

A question or game goal.

#Outputs

Guidance and suggested next steps.

#How it connects

Use it with the docs; verify all advice with Content Validator and real tests.

#Common mistakes

Treating suggestions as proof that a feature works; skipping validation.

#Validation

Cross-check suggested workflow against the relevant manual section and validator.

#Database

Status: Stable
Category: Creation
Use it when: you need items, enemies, quests, shops, skills, actors, cards, or other data.

#First task

Create an item resource and assign an icon if available.

#Inputs

A data category and required fields such as name/ID.

#Outputs

Godot resource files and related data records.

#How it connects

Connects to Generated Asset Browser, Visual Logic, Gameplay Director, and UI.

#Common mistakes

Duplicate IDs; missing icons/rewards; broken resource paths.

#Validation

Run Content Validator and confirm references resolve.

#Content Validator

Status: Stable
Category: Validation
Use it when: you need to catch missing references and readiness problems.

#First task

Run validation on a test scene and fix one warning.

#Inputs

A scene, map, resource, or project to inspect.

#Outputs

Warnings/errors and readiness reports.

#How it connects

Use before Quick Play/export and before asking for support.

#Common mistakes

Ignoring warnings; misunderstanding warning vs error; validating before saving.

#Validation

Rerun after fixes and confirm warnings/errors changed as expected.

#Asset Pipeline

Status: Stable
Category: Asset
Use it when: you need to import/process user-owned or generated assets into project content.

#First task

Import a user-owned image/audio asset and prepare it as project content.

#Inputs

A file you created, own, or are licensed to use.

#Outputs

Processed/imported project asset and metadata.

#How it connects

Connects to converters, Generated Asset Browser, UI/Audio/VFX workflows.

#Common mistakes

Importing unlicensed assets; saving into addon folder; skipping preview.

#Validation

Validate path, rights, file type, and assignment target.

#Performance Panel

Status: Stable
Category: System
Use it when: you need to inspect runtime performance and budgets.

#First task

Open the panel during Quick Play and note FPS/budget warnings.

#Inputs

A running scene or test build.

#Outputs

Performance readings and budget warnings.

#How it connects

Use after a prototype exists, especially before export preflight.

#Common mistakes

Optimizing before gameplay works; ignoring generated asset load costs.

#Validation

Compare readings before/after changes and test in exported build if possible.

#Module Manager

Status: Stable
Category: System
Use it when: a tool/node/profile appears missing or you need module control.

#First task

Check whether a missing node/tool is disabled by module state.

#Inputs

Enabled plugin and module registry.

#Outputs

Module state information and registry validation.

#How it connects

Use with troubleshooting and advanced project setup.

#Common mistakes

Changing modules randomly; enabling no-autoload mode accidentally.

#Validation

Confirm module state matches expected visible tools/custom types.

#Migration Assistant

Status: Stable
Category: System
Use it when: you are opening older Dreamcatcher projects or schemas.

#First task

Back up, run migration check, then validate older resources.

#Inputs

A backed-up older project/resource set.

#Outputs

Migration report and updated resources where supported.

#How it connects

Use before editing old projects heavily.

#Common mistakes

Migrating without backup; skipping validation after migration.

#Validation

Open affected scenes/resources and run Content Validator.

#Bake Manager

Status: Stable
Category: Asset
Use it when: you need to bake/export resources or data tables.

#First task

Bake/export project data tables or resources, then validate outputs.

#Inputs

Project resources ready for baking.

#Outputs

Baked/exported data files or resources.

#How it connects

Comes after validation and before export preparation.

#Common mistakes

Baking broken data; not checking output paths; assuming bake fixes references.

#Validation

Validate before and after baking; inspect output files.

#Asset Cleaner

Status: Stable
Category: Asset
Use it when: you need to review unused/orphaned assets after experiments.

#First task

Find unused generated test assets and review before deletion.

#Inputs

A project with generated/imported experiments and a backup.

#Outputs

Cleanup candidates and deletion decisions.

#How it connects

Use with Generated Asset Browser and Content Validator.

#Common mistakes

Deleting without backup; deleting outputs still referenced by scenes/resources.

#Validation

Review references and rerun Content Validator after cleanup.

#Export Manager

Status: Stable
Category: System
Use it when: you are preparing Godot export presets and preflight checks.

#First task

Run export preflight, check templates, and build only after validation.

#Inputs

Validated project and target platform decision.

#Outputs

Export presets, preflight results, and build preparation.

#How it connects

Comes after Content Validator, Asset Cleaner, Bake Manager as needed.

#Common mistakes

Assuming console/mobile export is turnkey; missing templates/SDKs/signing.

#Validation

Install required Godot templates/SDKs and test exported build.

#Resource reference: 47 data/resource scripts

These are the current scripts under addons/dreamcatcher/resources/. Most extend Resource; DreamMapEvent extends Node2D and should be explained as a map-event object/data-runtime bridge rather than as a plain data resource.

What resources are: Godot resources are saved data objects. Dreamcatcher uses resources for editable game data such as actors, enemies, items, skills, quests, dialogue, maps, generated assets, loot, and genre-specific configuration. Resources are usually safer than hardcoding because tools, validators, and scenes can all point to the same data file.

#Resource family map

Resource familyWhat it representsUsually edited withCommon warning
Actors, combat, and RPG dataActors, classes, enemies, weapons, armor, skills, states, troops, perks.Database, combat tutorials, Action RPG workflows, generated database resources.A scene references an actor/enemy/skill that was renamed, moved, or deleted.
Inventory and economyItems, shops, loot tables, recipes, rewards, costs, drops.Database, Generated Asset Browser, shop/loot tutorials.Reward, chest, shop, or loot event points to missing item data.
Narrative and questsDialogue, chapters, quests, choices, progress state.Narrative Weaver, Visual Logic, Map Editor events.NPC dialogue opens but choice/quest state does not update.
Generated asset metadataGenerated asset records, previews, reports, presets, dependencies.Procedural Toolkit and Generated Asset Browser.Asset file exists but its registry/metadata entry is missing or points to an old path.
Map, region, and tileset dataTileset layout, map event pages, conditions, region behavior.Map Editor, Scene Composer, map validation.Map event, region, collision, music, or weather rule is present in the editor but not triggered in play.
Genre-specific resourcesCards, decks, race configs, sports configs, puzzle data, rhythm charts, tower waves, runner/farm/horror settings.Genre starter workflows and specialized tool/reference pages.Genre scene opens but the expected data resource is not assigned.

Safe file rule: keep project-owned game data under your project folders such as res://dream/. Avoid editing or saving your own content inside res://addons/dreamcatcher/.

File Class Extends
dream_actor_data.gd DreamActorData Resource
dream_animation_data.gd DreamAnimationData Resource
dream_armor.gd DreamArmor Resource
dream_board_path.gd DreamBoardPath Resource
dream_capture_rule.gd DreamCaptureRule Resource
dream_card.gd DreamCard Resource
dream_chapter.gd DreamChapter Resource
dream_class.gd DreamClass Resource
dream_creature_instance.gd DreamCreatureInstance Resource
dream_creature_roster.gd DreamCreatureRoster Resource
dream_creature_species.gd DreamCreatureSpecies Resource
dream_deck.gd DreamDeck Resource
dream_dialogue.gd DreamDialogue Resource
dream_enemy.gd DreamEnemy Resource
dream_environment.gd DreamEnvironment Resource
dream_fighter_data.gd DreamFighterData Resource
dream_generated_asset.gd DreamGeneratedAsset Resource
dream_generated_asset_metadata.gd DreamGeneratedAssetMetadata Resource
dream_generated_asset_preview.gd DreamGeneratedAssetPreview Resource
dream_generation_preset.gd DreamGenerationPreset Resource
dream_generation_report.gd DreamGenerationReport Resource
dream_grid.gd DreamGrid Resource
dream_horror_config.gd DreamHorrorConfig Resource
dream_item.gd DreamItem Resource
dream_loot_table.gd DreamLootTable Resource
dream_map_event.gd DreamMapEvent Node2D
dream_map_event_condition.gd DreamMapEventCondition Resource
dream_map_event_page.gd DreamMapEventPage Resource
dream_map_region_data.gd DreamMapRegionData Resource
dream_perk_data.gd DreamPerkData Resource
dream_puzzle.gd DreamPuzzle Resource
dream_quest.gd DreamQuest Resource
dream_race_config.gd DreamRaceConfig Resource
dream_recipe.gd DreamRecipe Resource
dream_region_behavior.gd DreamRegionBehavior Resource
dream_rhythm_chart.gd DreamRhythmChart Resource
dream_runner_config.gd DreamRunnerConfig Resource
dream_shop.gd DreamShop Resource
dream_skill.gd DreamSkill Resource
dream_sport_config.gd DreamSportConfig Resource
dream_state.gd DreamState Resource
dream_system_config.gd DreamSystemConfig Resource
dream_tileset_data.gd DreamTilesetData Resource
dream_tower_data.gd DreamTowerData Resource
dream_troop.gd DreamTroop Resource
dream_wave_data.gd DreamWaveData Resource
dream_weapon.gd DreamWeapon Resource

Common user-facing groups:

  • Actors/combat/RPG: DreamActorData, DreamClass, DreamEnemy, DreamWeapon, DreamArmor, DreamSkill, DreamTroop, DreamState, DreamPerkData.
  • Inventory/economy: DreamItem, DreamShop, DreamLootTable, DreamRecipe.
  • Narrative/quests: DreamDialogue, DreamChapter, DreamQuest.
  • Cards/board/puzzle/rhythm/sports/racing: DreamCard, DreamDeck, DreamBoardPath, DreamPuzzle, DreamRhythmChart, DreamSportConfig, DreamRaceConfig.
  • Generated asset system: DreamGeneratedAsset, DreamGeneratedAssetMetadata, DreamGeneratedAssetPreview, DreamGenerationPreset, DreamGenerationReport.
  • Maps/tiles/regions: DreamTilesetData, DreamMapEvent, DreamMapEventPage, DreamMapEventCondition, DreamMapRegionData, DreamRegionBehavior, DreamGrid, DreamEnvironment.
  • Creature collector: DreamCreatureSpecies, DreamCreatureInstance, DreamCreatureRoster, DreamCaptureRule.

#Autoload services

In Godot, an autoload is a script or scene that Godot loads automatically when the project starts. It behaves like a global service. Dreamcatcher uses autoloads for shared runtime systems such as audio, input, scene flow, dialogue, weather, accessibility, screen effects, and event messaging.

Most users do not edit these scripts directly. You normally use Dreamcatcher tools, custom nodes, resources, and Inspector fields; the autoloads support those workflows behind the scenes.

When autoloads matter: check this section when a feature works in the editor but does not behave during play, when a module is disabled, when no_autoload_mode is enabled, or when an existing project already has its own managers for audio, input, scenes, or dialogue.

#Autoloads at a glance

AutoloadPlain-language purposeNormal user interactionWhen to troubleshoot it
DreamCoreCore plugin/runtime coordination service.You rarely interact with it directly; it supports Dreamcatcher runtime systems.Plugin-wide runtime errors, missing core service, startup issues.
DreamAudioShared audio service for music and SFX playback support.Use Sound Studio, map music zones, Visual Logic audio actions, and generated audio assignments.SFX or music does not play, music stacks, or volume/fade behavior seems wrong.
DreamInputShared input/action handling.Use input setup, player tools, and Godot Input Map.Interact, attack, confirm, cancel, or movement actions do not respond.
DreamDirectorHigh-level gameplay/director coordination.Use Gameplay Director, events, pacing systems, and tool workflows.Director-driven encounters, pacing, or orchestration do not trigger.
DreamSceneManagerScene loading and scene-flow support.Use Scene Composer, transitions, map events, doors, teleports, and scene flow tools.Scene change, teleport, or door transition fails or loads the wrong target.
DreamGameLoopRuntime game-loop foundation.Usually indirect through gameplay systems and Quick Play.Runtime loop or game-state update behavior seems broken.
DreamHUDRuntime HUD/UI support.Use UI Builder, HUD scenes, and UI feedback workflows.HP, objective, quest, pickup, or currency feedback does not update.
DreamEquipmentEquipment and inventory RPG support.Use Database resources, actor data, weapons, armor, and RPG workflows.Equipment stats, gear changes, or actor equipment state fails.
DreamCutsceneCutscene runtime coordination.Use Cinematic Editor, map triggers, dialogue, camera beats, and cutscene actions.Cutscene does not start/end, control is not returned, or camera/dialogue timing fails.
DreamAchievementsAchievement state/support service.Use achievement resources/workflows where supported.Achievement unlocks or persistence do not behave as expected.
DreamWeatherWeather and runtime environment service.Use Map Editor weather zones and weather-related visual/audio workflows.Weather zone does not apply, transition, or reset.
DreamEntityServerEntity registry/server support.Usually indirect through runtime systems.Entity lookup, spawn, or management issues in advanced projects.
DreamLocalizationLocalization and translated string support.Use localization settings/resources and translated editor/runtime strings.Text does not switch language or localization keys are missing.
DreamMapRevealMap reveal, fog, and discovery support.Use map reveal/progression workflows where relevant.Explored areas or reveal state do not update/persist.
DreamFSMControllerFinite-state-machine runtime support.Use AI/FSM tools, state-based behavior, and enemy/player state workflows.Enemy/player state does not change, animation state is stuck, or AI state transitions fail.
DreamTweenShared tween/transition animation helper.Usually indirect through screen effects, transitions, UI, and cutscenes.Smooth movement, fade, or timing helper behavior fails.
DreamScreenFXScreen effects service.Use VFX, screen flash, shake, fade, and cinematic feedback.Screen shake, fade, or flash does not appear or remains stuck.
DreamNetSyncNetworking synchronization foundation.Advanced only; use networking docs and test authority/latency carefully.Multiplayer synchronization or networked state does not update.
DreamAccessibilityAccessibility settings/support.Use accessibility options, UI settings, text/input/display support.Accessibility options do not apply or persist.
DreamPoolObject pooling/performance helper.Usually indirect through VFX, spawned objects, and performance-sensitive systems.Spawned effects/entities leak, duplicate, or performance degrades.
DreamPhysicsLayersPhysics layer/collision helper.Use player/map/collision setup and map validation.Collision, pickups, triggers, or hitboxes do not detect correctly.
DreamEventBusEvent messaging between systems.Indirect through Visual Logic, Narrative Weaver, UI, quests, and gameplay events.Something happens but another system does not receive the event.
DreamDialogueManagerRuntime dialogue service.Use Narrative Weaver, dialogue resources, NPC events, and UI dialogue flows.Dialogue does not open, choices do not run, or speaker/portrait state is wrong.
DreamRuntimeThemeRuntime UI theme/style support.Use UI Builder and runtime theme workflows.UI theme does not apply or changes unexpectedly.
DreamConditionalAssetsState-based asset selection support.Use conditional asset workflows for alternate visuals/audio/UI based on state.Correct asset does not swap when state or condition changes.
DreamCharacterRegistryCharacter lookup, portrait, and speaker support.Use character/dialogue resources and Narrative Weaver.Dialogue speaker, portrait, actor lookup, or character reference fails.
DreamTransitionScene/screen transition support.Use scene transition, fade, door, teleport, and cinematic flows.Fade/transition does not play or scene changes abruptly.
DreamSceneFlowRuntimeRuntime scene-flow graph/support system.Use Scene Composer, Visual Logic, map transitions, and flow tools.Scene flow sequence does not advance or repeats incorrectly.

#Safe autoload troubleshooting

  1. Confirm Dreamcatcher is enabled in Project Settings → Plugins.
  2. Confirm the module that owns the feature is enabled.
  3. Check Project Settings → Autoload to verify presence, not to edit plugin scripts.
  4. Check the Godot Output panel for missing singleton, missing resource, or missing method messages.
  5. Check the scene node, resource, tool, and Inspector configuration before changing plugin files.
  6. Run Content Validator or the relevant map/generated-asset validator.
  7. In existing projects, check whether another autoload or manager conflicts with the same role.
  8. Only advanced users should change autoload mode or plugin files, and only after backing up the project.
SymptomLikely causeSafe first fix
Godot says a singleton is missing.Plugin disabled, module disabled, no-autoload mode, or load error.Re-enable the plugin/module, restart Godot, then check Output for the first error.
Audio, dialogue, transition, weather, or UI feedback does not run during play.The scene may reference a feature whose service/module is unavailable, or the event was never triggered.Confirm the relevant module, tool setup, node/resource reference, and trigger signal.
A system works in a new project but not an existing one.The existing project may already have its own manager/autoload or conflicting input/scene/audio setup.Compare Project Settings → Autoload and Input Map, then test in a small backup scene.

#Custom node type overview

Dreamcatcher v0.9.4 registers 113 custom node types when their modules are enabled. These are visible Godot custom types, not all necessarily beginner-facing tools. They are grouped by module below so users can understand why a node may appear or disappear when modules are enabled/disabled.

How to read this section: custom nodes are Godot node types provided by Dreamcatcher. You add them through the normal Godot node dialog or through Dreamcatcher tools. Beginners should start with scene templates and tool workflows before manually adding advanced manager nodes.

#Which custom nodes should beginners use first?

GoalStart withAvoid at first
Playable character or test actorDreamActor, DreamActor2D, or a Scene Composer template that already includes a player.Runtime manager nodes unless a tutorial asks for them.
Interaction, pickup, checkpoint, or triggerDreamInteractable, DreamInteractable2D, DreamPickup, DreamPickup2D, DreamTrigger, DreamTrigger2D.Manually wiring many signals before one simple test works.
Combat testDreamHitbox, DreamHurtbox, DreamHitbox2D, DreamHurtbox2D, plus an actor/enemy resource.Large combat systems before a single hit registers correctly.
Dialogue UIDreamDialogueBox or a Narrative Weaver dialogue workflow.Editing dialogue runtime scripts directly.
HUD/UIUI Builder templates and HUD scenes first.Adding many UI custom nodes without binding one label or bar first.

Why this matters: custom nodes are powerful because they sit inside real Godot scenes. A missing node usually means a disabled module, a plugin registration issue, or a project that needs a restart after enabling the plugin.

#Module: actors

Custom type Base node
DreamActor CharacterBody3D
DreamTrigger Area3D
DreamActor2D CharacterBody2D
DreamTrigger2D Area2D
DreamInteractable Area3D
DreamPickup Area3D
DreamCheckpoint Area3D
DreamPlatform AnimatableBody3D
DreamProjectile CharacterBody3D
DreamProjectile2D CharacterBody2D
DreamNavPath Node3D
DreamPlatform2D AnimatableBody2D
DreamInteractable2D Area2D
DreamPickup2D Area2D
DreamCheckpoint2D Area2D
DreamNavPath2D Path2D
DreamVehicleSystem Node

#Module: ai_director

Custom type Base node
DreamAIDirector Node

#Module: combat

Custom type Base node
DreamHitbox Area3D
DreamHurtbox Area3D
DreamDamageFormula Node
DreamHitbox2D Area2D
DreamHurtbox2D Area2D
DreamCombatBridge Node
DreamGridCombat Node
DreamEntityTypes Node
DreamDamageNumbers Node

#Module: dialogue

Custom type Base node
DreamDialogueBox CanvasLayer

#Module: director

Custom type Base node
DreamBehavior Node

#Module: genre_autobattler

Custom type Base node
DreamAutoBattler Node

#Module: genre_battleroyale

Custom type Base node
DreamBattleRoyale Node

#Module: genre_cards

Custom type Base node
DreamCardGameManager Node2D
DreamStandardDeck RefCounted

#Module: genre_farm

Custom type Base node
DreamFarmManager Node

#Module: genre_fighting

Custom type Base node
DreamFightingManager Node
DreamFighterAI Node
DreamFighterAI3D Node
DreamFightingHUD CanvasLayer

#Module: genre_hackslash

Custom type Base node
DreamHackSlashMgr Node

#Module: genre_horror

Custom type Base node
DreamHorrorManager Node

#Module: genre_idle

Custom type Base node
DreamIdleManager Node

#Module: genre_moba

Custom type Base node
DreamMOBAManager Node

#Module: genre_procedural

Custom type Base node
DreamProceduralGen Node

#Module: genre_puzzle

Custom type Base node
DreamPuzzleManager Node
DreamPuzzleGrid Node2D

#Module: genre_racing

Custom type Base node
DreamRaceCar VehicleBody3D
DreamRaceCheckpoint Area3D
DreamRaceTrack Node3D
DreamRaceManager Node

#Module: genre_rhythm

Custom type Base node
DreamRhythmHUD CanvasLayer
DreamRhythmEngine Node

#Module: genre_roguelike

Custom type Base node
DreamRoguelikeManager Node

#Module: genre_runner

Custom type Base node
DreamEndlessRunner Node

#Module: genre_shmup

Custom type Base node
DreamShmupManager Node

#Module: genre_simulation

Custom type Base node
DreamSimulationMgr Node

#Module: genre_sports

Custom type Base node
DreamSportsManager Node
DreamSportsHUD CanvasLayer
DreamBall RigidBody3D
DreamBall2D RigidBody2D
DreamTeamAI Node

#Module: genre_stealth

Custom type Base node
DreamStealthManager Node

#Module: genre_survival

Custom type Base node
DreamSurvivalManager Node

#Module: genre_td

Custom type Base node
DreamTDOverlay CanvasLayer
DreamTDManager Node

#Module: genre_vn

Custom type Base node
DreamGalleryViewer CanvasLayer
DreamTextBacklog CanvasLayer

#Module: input

Custom type Base node
DreamVirtualJoystick Control
DreamTouchButton Control
DreamTouchDPad Control
DreamGestureArea Control

#Module: networking

Custom type Base node
DreamLobbyUI CanvasLayer

#Module: rpg

Custom type Base node
DreamEquipMenu CanvasLayer
DreamEquipmentNode Node
DreamQuestManager Node
DreamSkillTree Node
DreamCraftingManager Node
DreamNPCSystem Node
DreamLootManager Node
DreamPartyFormation Node
DreamInventoryManager Node
DreamShopManager Node
DreamTutorialSystem Node
DreamCompanionSystem Node
DreamBattleScene CanvasLayer
DreamEncounterSystem Node
DreamCreatureCollection Node

#Module: ui

Custom type Base node
DreamSkillBar HBoxContainer
DreamQuestLog PanelContainer
DreamCharacterSheet PanelContainer
DreamCraftUI PanelContainer
DreamBattleHUD CanvasLayer
DreamMapUI PanelContainer
DreamLoadingScreen CanvasLayer
DreamTitleCardUI CanvasLayer
DreamTitleScreen Control
DreamPauseMenu CanvasLayer
DreamInventoryMenu CanvasLayer
DreamSaveSlotUI CanvasLayer
DreamPauseScreen CanvasLayer
DreamLoadingOverlay Control
DreamGameOver CanvasLayer
DreamCreditsScreen CanvasLayer
DreamSplashScreen CanvasLayer
DreamNotification CanvasLayer
DreamMinimap Control
DreamCharacterSelect CanvasLayer
DreamHealthBar Control
DreamMinimapMarkers Node

#Module: weapon_aim

Custom type Base node
DreamWeaponSystem Node
DreamAimSystem Node

#Module: world

Custom type Base node
DreamCamera3D Camera3D
DreamCamera2D Camera2D
DreamParallax ParallaxBackground

#Module ID reference

What a module is: a module is a feature group inside Dreamcatcher. Modules control related editor tools, custom nodes, runtime services, resource types, and validation rules. If a custom node or tool seems missing, the module that owns it may be disabled.

User questionWhat to checkSafe action
A tool or custom node is missing.Module Manager, plugin enable state, and any advanced no-autoload setting.Enable the related module, restart the editor if needed, then open a small test scene.
A runtime feature does not work.Owning module, relevant autoload service, node/resource references, and Godot Output.Fix the missing reference first; avoid editing plugin scripts.
You are new to Dreamcatcher.Start with Universal, Platformer, Action RPG, Visual Novel, or Map Editor workflows.Avoid changing module settings until your first scene works.

These module IDs are the names Dreamcatcher uses for its major feature groups. In the Module Manager, they help you understand which systems belong together and which groups can be enabled or disabled for a project.

# Module ID
1 core
2 event_bus
3 input
4 scene_manager
5 audio
6 director
7 game_loop
8 fsm
9 conditional_assets
10 combat
11 weapon_aim
12 actors
13 rpg
14 achievements
15 dialogue
16 ui
17 accessibility
18 world
19 entity_server
20 networking
21 localization
22 genre_racing
23 genre_fighting
24 genre_sports
25 genre_cards
26 genre_td
27 genre_roguelike
28 genre_rhythm
29 genre_shmup
30 genre_puzzle
31 genre_runner
32 genre_simulation
33 genre_vn
34 genre_hackslash
35 genre_idle
36 genre_autobattler
37 genre_battleroyale
38 genre_moba
39 genre_stealth
40 genre_horror
41 genre_survival
42 genre_farm
43 genre_procedural
44 ai_director
45 genre_fps_shooter
46 genre_platformer_3d
47 genre_city_builder
48 genre_tactical_rpg
49 genre_action_adventure
50 genre_creature_collector

#Localization and translated editor strings

Dreamcatcher includes translation resources for several editor/plugin strings. Current package files include Arabic, German, English, Spanish, French, Italian, Japanese, Korean, Portuguese, Russian, and Chinese .translation resources, plus the source CSV.

These files support plugin/editor localization surfaces where wired. They do not automatically translate your game content. For your own game text, manage dialogue, UI labels, and localization resources inside your project and validate missing text references where applicable.

#Other documents included with the plugin

File Who should read it Purpose
README.mdEveryone / supportCurrent package inventory, installation notes, scope summary, and support information.
Documentation.htmlEveryoneShort bundled package documentation overview.
RELEASE_NOTES_v0.9.0.mdEveryone / historical referenceFirst public beta / founder build scope and boundaries.
RELEASE_NOTES_v0.9.1.mdEveryone / historical referenceStability, bug-fix, and Godot 4.6.2 compatibility pass.
RELEASE_NOTES_v0.9.2.mdEveryone / historical referenceFoundation, metadata clarity, project-owned path discipline, and validation groundwork.
RELEASE_NOTES_v0.9.3.mdEveryoneTileMapLayer map editor, map events, regions, encounters, music/weather/collision/navigation workflows.
RELEASE_NOTES_v0.9.4.mdEveryoneGenerated asset registry/browser, generated database/map outputs, assignment metadata, and validator reliability.
CHANGELOG.mdAdvanced usersChronological version history.
GUARANTEES.mdBuyers / advanced usersProject ownership, portability, no-lock-in, and exit-ladder framing.
EXTENSIBILITY.mdAdvanced users / integratorsExtension and SDK details.
BRAND_NOTICE.mdEveryoneNaming and third-party brand guidance.
THIRD_PARTY_NOTICES.mdEveryoneLegal/asset-rights notices.
assets/README.mdUsers importing or reviewing bundled assetsAsset-folder notes and usage expectations.

#What beginners should not touch yet

Until your first playable scene works, avoid:

  • Editing files inside addons/dreamcatcher/.
  • Changing module settings randomly.
  • Enabling no-autoload mode.
  • Using Asset Cleaner without a backup.
  • Baking/exporting before validation.
  • Importing third-party assets without license checks.
  • Building a large hybrid game before testing one small loop.

#Common validation messages and fixes

Validator message Meaning Fix
Item has no icon UI may show an empty slot. Assign a generated or imported icon.
Quest missing reward Quest can finish without a clear result. Add item, currency, flag, or state reward.
Map event missing target Door/transfer may fail. Assign destination scene/spawn.
Asset path inside plugin folder User content may be unsafe during plugin update. Move to res://dream/generated/ or a project folder.
Export template missing Godot cannot build the target. Install official Godot export templates.

#Genre starter workflows

Every genre starter workflow helps you build a first playable loop instead of only describing the genre. Stable profiles can be treated as normal v0.9.4 workflows; Beta and Early Access foundation profiles should be validated more carefully.

#Universal

Status: All systems
Best for: All genre systems visible for custom or hybrid projects.

#First playable loop

Create a small scene with one actor, one object, one interaction, one generated asset, and one validation pass.

#Use these tools first

Almanac, Scene Composer, Generated Asset Browser, Content Validator, Quick Play.

#Create these resources first

One scene, one actor/object, one interaction, optional generated asset.

#Validation gate

Scene opens, interaction works, generated asset path is known, validator output is understood.

#Advanced path

Choose a specific DNA once your direction becomes clear.

#Platformer

Status: Stable
Best for: Jump/dash, camera follow, checkpoint and respawn workflows.

#First playable loop

Move, jump, collect a pickup, reach an exit, and respawn from a checkpoint.

#Use these tools first

Scene Composer, Visual Logic, Map Editor, UI Builder, Content Validator.

#Create these resources first

Player actor, pickup, hazard, checkpoint, exit trigger.

#Validation gate

Player spawns, collision works, pickup feedback appears, checkpoint/exit work.

#Advanced path

Add enemies, hazards, camera tuning, and level regions.

#Action RPG

Status: Stable
Best for: Crit/parry/status, slow-motion and loot workflows.

#First playable loop

Talk to an NPC, accept a quest, defeat an enemy, collect loot, and receive a reward.

#Use these tools first

Database, Scene Composer, Map Editor, Visual Logic, Gameplay Director, Generated Asset Browser.

#Create these resources first

Player actor, NPC, enemy, item, quest, dialogue, loot table.

#Validation gate

Quest starts/completes, enemy/reward references resolve, loot works.

#Advanced path

Add equipment, skills, shops, dungeons, bosses, and status effects.

#Visual Novel

Status: Stable
Best for: CG/affection, dynamic choices, portraits and typewriter text.

#First playable loop

Show a scene, display dialogue, present a choice, change a variable, and branch to a result.

#Use these tools first

Narrative Weaver, UI Builder, Visual Logic, Sound Studio, Content Validator.

#Create these resources first

Dialogue/chapter, characters, choice variable, optional portraits/backgrounds/audio.

#Validation gate

Choice branches correctly and missing visual/audio references are intentional or fixed.

#Advanced path

Add routes, affection variables, chapters, endings, and audio cues.

#Card Battler

Status: Stable
Best for: Draw/play/shuffle and card battle management.

#First playable loop

Draw 5 cards, play one attack card, enemy loses HP, then discard/end turn.

#Use these tools first

Database, Visual Logic, UI Builder, Scene Composer, Content Validator.

#Create these resources first

Cards, deck, enemy/target, battle UI, damage rule.

#Validation gate

Card can be drawn/played, HP changes, turn ends cleanly.

#Advanced path

Add mana costs, effects, deckbuilding, enemy AI, and rewards.

#Cozy Farm

Status: Stable
Best for: Planting, day-cycle time, and gentle QTE workflows.

#First playable loop

Plant seed, water crop, advance day/time, harvest crop, and add item/currency.

#Use these tools first

Map Editor, Database, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Seed item, crop data, farm tile, time/day state, reward item/currency.

#Validation gate

Crop state changes and harvest reward is added once.

#Advanced path

Add seasons, animals, relationships, crafting, cooking, and festivals.

#Stealth Tactics

Status: Stable
Best for: Vision cones, alarms, takedowns and squad orders.

#First playable loop

Enter guard vision, alarm increases, hide or takedown, then reach exit unseen.

#Use these tools first

Scene Composer, Map Editor, Visual Logic, Database, Content Validator.

#Create these resources first

Player, guard, vision area, alarm variable, exit.

#Validation gate

Vision detection and alarm logic work; exit condition validates.

#Advanced path

Add patrol routes, squad commands, noise, cameras, and stealth scoring.

#Survival

Status: Stable
Best for: Durability, building, hunger and base-building workflows.

#First playable loop

Collect material, craft tool/item, consume hunger/thirst resource, and survive one night.

#Use these tools first

Database, Map Editor, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Material item, craft workflow, hunger/thirst variable, day/night state.

#Validation gate

Resource collection/crafting works and survival stats update.

#Advanced path

Add durability, shelter, weather, enemies, base building, and progression.

#Racing

Status: Stable
Best for: Accelerate/brake/steer/drift/nitro and rubber-band AI.

#First playable loop

Start race, pass checkpoint, finish lap, and show time/result.

#Use these tools first

Scene Composer, Database, UI Builder, Visual Logic, Content Validator.

#Create these resources first

Vehicle/track/checkpoints, lap timer, result UI.

#Validation gate

Checkpoint/lap order is valid and race result appears.

#Advanced path

Add AI racers, drift/nitro, track variations, and leaderboards.

#Horror / Psychological

Status: Stable
Best for: Sanity drain, jumpscares, hallucination, tension, safe rooms.

#First playable loop

Explore room, sanity/tension changes, trigger scare/event, then reach safe room.

#Use these tools first

Scene Composer, Narrative Weaver, Sound Studio, Visual Logic, Content Validator.

#Create these resources first

Room scene, tension/sanity variable, scare trigger, safe room marker.

#Validation gate

Scare/tension triggers once and safe room state works.

#Advanced path

Add hallucinations, feature list puzzles, chase events, and audio ambience.

#Party Game

Status: Stable
Best for: Board-path movement, dice rolls, space events, score tracking.

#First playable loop

Roll dice, move on board path, trigger tile event, and update score.

#Use these tools first

Scene Composer, Database, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Board path, player token, dice roll, tile event, score variable.

#Validation gate

Movement follows board path and tile event updates score.

#Advanced path

Add minigames, multiple players, random events, and match results.

#Board Game

Status: Stable
Best for: Turn-based board movement, tile events, dice and tokens.

#First playable loop

Select piece, roll or choose move, land on tile, and resolve event.

#Use these tools first

Database, Scene Composer, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Board grid/path, token, move rule, tile event.

#Validation gate

Piece movement and tile resolution are valid.

#Advanced path

Add rule variants, AI, card draws, and win conditions.

#Multiplayer

Status: Stable
Best for: Net sync nodes, lobby UI, peer state, host/join workflow.

#First playable loop

Host/join local test, spawn two players/peers, and sync movement or score.

#Use these tools first

Module Manager, Scene Composer, UI Builder, Visual Logic, Content Validator.

#Create these resources first

Lobby UI, player scene, synced variable/movement, test peers.

#Validation gate

Host/join flow works in a controlled test and sync state is visible.

#Advanced path

Add matchmaking, latency handling, authority rules, and disconnection flow.

#Turn-Based RPG

Status: Stable
Best for: Battle HUD, party/turn order, skills, equipment, growth.

#First playable loop

Start battle, choose attack/skill, enemy responds, win, and receive reward.

#Use these tools first

Database, UI Builder, Scene Composer, Visual Logic, Content Validator.

#Create these resources first

Actor, enemy/troop, skill, battle UI, reward.

#Validation gate

Turns progress, skill applies, victory reward resolves.

#Advanced path

Add party members, equipment, growth, status effects, and shops.

#Puzzle

Status: Stable
Best for: Match-3, Sokoban, hint systems, cascades and grid logic.

#First playable loop

Move/rotate/match object, detect solved state, and show success feedback.

#Use these tools first

Scene Composer, Database, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Grid/puzzle resource, movable object, solve condition, feedback.

#Validation gate

Solved/failed states are detected correctly.

#Advanced path

Add hints, levels, scoring, cascades, and timers.

#Rhythm

Status: Stable
Best for: BPM sync, note judgement, combo and grade systems.

#First playable loop

Spawn notes to BPM, hit/miss timing, update combo/score, and finish song.

#Use these tools first

Sound Studio, UI Builder, Visual Logic, Database, Content Validator.

#Create these resources first

Audio track, rhythm chart, note lanes, judgement UI.

#Validation gate

Timing/score/finish state works for one short chart.

#Advanced path

Add song list, difficulty, grades, and visual effects.

#Roguelike / Roguelite

Status: Stable
Best for: Floor progression, perks, loot rolling, meta-progression.

#First playable loop

Generate room/floor, defeat enemy, choose reward/perk, and move to next room.

#Use these tools first

Procedural Toolkit, Generated Asset Browser, Database, Map Editor, Content Validator.

#Create these resources first

Generated map, enemy, reward/perk, floor exit.

#Validation gate

Generated asset record exists and room progression works.

#Advanced path

Add room variety, meta-upgrades, bosses, and seeded runs.

#Tower Defense

Status: Stable
Best for: Wave spawning, economy, tower placement/upgrade/sell.

#First playable loop

Start wave, place tower, enemies follow path, earn currency, and upgrade/sell.

#Use these tools first

Map Editor, Database, UI Builder, Visual Logic, Content Validator.

#Create these resources first

Path, enemy wave, tower data, currency, upgrade rule.

#Validation gate

Enemies follow path and tower/economy loop works.

#Advanced path

Add tower types, bosses, waves, upgrades, and difficulty curves.

#Fighting (2D)

Status: Stable
Best for: Frame data, input commands, combos, meter, rounds, hit stop.

#First playable loop

Select fighters, start round, land combo/hit, reduce HP, and win round.

#Use these tools first

Scene Composer, Database, UI Builder, Visual Logic, Content Validator.

#Create these resources first

Two fighters, hit/hurt boxes, HP, round UI, input/attack rule.

#Validation gate

Hit detection, HP, round end, and UI work.

#Advanced path

Add command lists, supers, combos, meter, and training mode.

#Fighting (3D Arena)

Status: Stable
Best for: 3D arena fighting, ring-out, juggle physics, super armor.

#First playable loop

Spawn fighters, lock-on/move in arena, hit/juggle/ring-out, and win round.

#Use these tools first

Scene Composer, Database, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Arena, fighters, camera/lock-on, HP/ring-out rule.

#Validation gate

Fighters spawn and win condition resolves.

#Advanced path

Add arena hazards, camera tuning, armor, juggle rules, and AI.

#Sports (Soccer)

Status: Stable
Best for: Ball/team AI, formations, fouls, match timer, sports HUD.

#First playable loop

Kick ball, pass/shoot, detect goal, and update scoreboard/timer.

#Use these tools first

Scene Composer, Database, UI Builder, Visual Logic, Content Validator.

#Create these resources first

Ball, goal trigger, player/team, timer, scoreboard.

#Validation gate

Goal/timer/score update correctly.

#Advanced path

Add teams, AI, formations, fouls, and match flow.

#Sports (Basketball)

Status: Stable
Best for: Shot clock, free throws, 3-point line, fouls, quarters.

#First playable loop

Dribble/pass/shoot, check 2/3-point score, and update shot clock/score.

#Use these tools first

Scene Composer, UI Builder, Visual Logic, Database, Content Validator.

#Create these resources first

Court zones, ball, players, shot clock, score rules.

#Validation gate

Scoring zone and clock update correctly.

#Advanced path

Add fouls, free throws, AI plays, and quarters.

#Sports (Tennis)

Status: Stable
Best for: Tennis scoring, sets and serve system.

#First playable loop

Serve, rally, score point, and update game/set state.

#Use these tools first

Scene Composer, UI Builder, Visual Logic, Database, Content Validator.

#Create these resources first

Court, ball, players, serve/score rules.

#Validation gate

Point/game score updates correctly.

#Advanced path

Add AI, set logic, match stats, and tournament flow.

#Simulation / Tycoon

Status: Stable
Best for: Economy ticks, buildings, staff, happiness, research, events.

#First playable loop

Place building, produce resource tick, spend resource, and upgrade or unlock.

#Use these tools first

Database, UI Builder, Visual Logic, Gameplay Director, Content Validator.

#Create these resources first

Building, resource, tick rule, upgrade/research data.

#Validation gate

Resource changes and upgrade/unlock work.

#Advanced path

Add staff, happiness, events, research tree, and balancing.

#Sandbox

Status: Stable
Best for: Base-building, open-world tools, crafting, day/night cycle.

#First playable loop

Gather material, place/build object, save state, and test day/night or crafting loop.

#Use these tools first

Map Editor, Database, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Material item, placeable object, build rule, state/save variable.

#Validation gate

Gather/build loop works and persists as expected.

#Advanced path

Add crafting chains, biomes, enemies, and player freedom tools.

#Metroidvania

Status: Stable
Best for: Map reveal, ability gating, interconnected rooms, save rooms.

#First playable loop

Explore room, find locked path, collect ability/key, and unlock new route.

#Use these tools first

Map Editor, Database, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Map rooms, ability/key, gate, save/checkpoint.

#Validation gate

Gate blocks/unlocks correctly and map route works.

#Advanced path

Add ability upgrades, map reveal, backtracking, bosses, and save rooms.

#Bullet Hell / Shmup

Status: Stable
Best for: Bullet pools, radial/aimed/spiral patterns, bombs, boss phases.

#First playable loop

Spawn player/enemy, fire pattern, dodge bullets, and defeat wave/boss phase.

#Use these tools first

Scene Composer, Visual Logic, UI Builder, Performance Panel, Content Validator.

#Create these resources first

Player, enemy, bullet pattern, HP/score UI.

#Validation gate

Bullets spawn/clear and wave/boss phase ends.

#Advanced path

Add patterns, bombs, boss phases, powerups, and performance tuning.

#Point & Click Adventure

Status: Stable
Best for: Hotspot interaction, feature list puzzles, dialogue trees.

#First playable loop

Click hotspot, collect item, use item on puzzle, and unlock dialogue/door.

#Use these tools first

Scene Composer, Narrative Weaver, Database, Visual Logic, Content Validator.

#Create these resources first

Hotspot, item, puzzle target, dialogue/door result.

#Validation gate

Item use and puzzle state resolve correctly.

#Advanced path

Add feature list combinations, rooms, characters, and hint system.

#Endless Runner

Status: Stable
Best for: Chunk spawning, lane switching, speed curves, revives.

#First playable loop

Auto-run, avoid obstacle/lane switch, collect item, and speed increases.

#Use these tools first

Scene Composer, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Runner, obstacle, pickup, speed curve, score UI.

#Validation gate

Obstacle/pickup/speed loop works.

#Advanced path

Add procedural chunks, revives, missions, and difficulty curves.

#Card Game (Classic)

Status: Stable
Best for: 52-card deck, solitaire/poker/rummy/uno rule helpers.

#First playable loop

Deal standard deck, perform one rule action, and score/win/lose hand.

#Use these tools first

Database, UI Builder, Visual Logic, Content Validator.

#Create these resources first

Deck, hand UI, rule action, score/win condition.

#Validation gate

Deck deals and scoring rule works.

#Advanced path

Add full rule set, AI, multiplayer, and saved match state.

#Hack & Slash

Status: Stable
Best for: Combo chains, style ranking, hit-stop, loot, finishers.

#First playable loop

Spawn enemy pack, perform combo, style/score rises, and loot drops.

#Use these tools first

Scene Composer, Database, Visual Logic, Gameplay Director, Content Validator.

#Create these resources first

Player, enemy pack, combo/style variable, loot table.

#Validation gate

Hits register, style changes, loot drops.

#Advanced path

Add finishers, waves, bosses, gear, and arena scoring.

#Idle / Clicker

Status: Stable
Best for: Auto-generators, big numbers, prestige, offline progress.

#First playable loop

Click for currency, buy generator, auto income increases, and unlock upgrade.

#Use these tools first

UI Builder, Database, Visual Logic, Content Validator.

#Create these resources first

Currency, generator, upgrade, UI counter.

#Validation gate

Click and auto-income update correctly.

#Advanced path

Add prestige, offline progress, achievements, and balance curves.

#Auto-Battler / Auto Chess

Status: Stable
Best for: Grid placement, auto-combat, economy, shop, synergies.

#First playable loop

Buy unit, place on grid, auto-combat starts, and reward after round.

#Use these tools first

Database, UI Builder, Scene Composer, Visual Logic, Content Validator.

#Create these resources first

Unit, grid, shop, economy, round reward.

#Validation gate

Unit placement and combat/reward loop works.

#Advanced path

Add synergies, shop rolls, rounds, ranking, and AI opponents.

#Battle Royale

Status: Stable
Best for: Shrinking zone, loot, elimination, revives, squad modes.

#First playable loop

Spawn player, loot item, shrinking zone begins, and eliminate/survive.

#Use these tools first

Map Editor, Database, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Map zone, loot item, elimination/survival rule, UI.

#Validation gate

Zone and elimination/survival logic work.

#Advanced path

Add squads, drops, revives, loot rarity, and match results.

#MOBA / Arena

Status: Stable
Best for: Lane maps, towers, minion waves, hero abilities, item shop.

#First playable loop

Spawn hero/minions, push lane, attack tower, and gain XP/currency.

#Use these tools first

Map Editor, Database, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Hero, minion wave, tower, XP/currency, shop item.

#Validation gate

Wave/tower/XP loop works.

#Advanced path

Add abilities, jungle, shop, team AI, and match objectives.

#Educational / Quiz

Status: Stable
Best for: Question banks, scoring, timed rounds, hints, leaderboards.

#First playable loop

Ask question, choose answer, score feedback, and show next question/result.

#Use these tools first

Database, UI Builder, Visual Logic, Content Validator.

#Create these resources first

Question bank, answers, score/timer, feedback UI.

#Validation gate

Correct/incorrect scoring works.

#Advanced path

Add categories, hints, timer, progression, and leaderboard.

#Farming RPG / Life Sim

Status: Stable
Best for: Crops/seasons, animals, relationships, fishing, cooking, festivals.

#First playable loop

Plant crop, talk/gift NPC, pass day, and receive harvest/relation reward.

#Use these tools first

Map Editor, Database, Narrative Weaver, Visual Logic, Content Validator.

#Create these resources first

Crop, NPC dialogue, gift/item, day/relationship variable.

#Validation gate

Day/crop/relationship loop works.

#Advanced path

Add seasons, animals, fishing, cooking, festivals, and town schedules.

#FPS / Shooter Foundations

Status: Early Access foundation
Best for: Aiming, weapons, projectiles/hitscan, crosshair and first-person camera foundations.

#First playable loop

First-person camera, aim, shoot target, and reload/ammo feedback.

#Use these tools first

Scene Composer, Weapon/Aim systems, UI Builder, Visual Logic, Content Validator.

#Create these resources first

Camera/player, weapon, target, ammo UI, shoot/reload rule.

#Validation gate

Aiming/shooting feedback works in a foundation test.

#Advanced path

Add custom FPS controller polish, weapon types, enemies, levels, and manual Godot setup as needed.

#3D Platformer

Status: Early Access foundation
Best for: 3D jump, checkpoints, collectibles, fall-reset and camera follow foundations.

#First playable loop

Move/jump, collect item, hit checkpoint, and fall reset.

#Use these tools first

Scene Composer, Map/World tools, Visual Logic, UI Builder, Content Validator.

#Create these resources first

3D player/camera, collectible, checkpoint, fall reset trigger.

#Validation gate

Movement/checkpoint/reset works in a simple 3D scene.

#Advanced path

Add camera tuning, abilities, hazards, and level polish.

#City Builder / Colony Sim

Status: Beta
Best for: Grid building placement, resource and population ticks, upgrades.

#First playable loop

Place building, population/resource tick runs, demand changes, and upgrade/expand.

#Use these tools first

Database, UI Builder, Map Editor, Visual Logic, Content Validator.

#Create these resources first

Building data, grid, resource/population variables, upgrade rule.

#Validation gate

Placement/tick/upgrade loop works.

#Advanced path

Add roads, services, happiness, disasters, research, and economy balance.

#Tactical RPG

Status: Beta
Best for: Grid movement, turn order, action points, attack range, end turn.

#First playable loop

Select unit, move on grid, attack within range, and end turn.

#Use these tools first

Database, Grid/Map tools, UI Builder, Visual Logic, Content Validator.

#Create these resources first

Unit, grid, turn order, action points, attack/skill.

#Validation gate

Movement/range/turn end validate.

#Advanced path

Add party/enemy AI, terrain effects, skills, objectives, and battle rewards.

#Action Adventure

Status: Beta
Best for: Interact, pickups, door/key unlocks, objectives, zone transitions.

#First playable loop

Talk/interact, collect key/item, unlock door/objective, and transition zone.

#Use these tools first

Scene Composer, Map Editor, Database, Visual Logic, Content Validator.

#Create these resources first

Player, item/key, door/trigger, objective, destination.

#Validation gate

Key/door/objective transition works.

#Advanced path

Add combat, puzzles, map progression, upgrades, and cutscenes.

#Creature Collector

Status: Early Access foundation
Best for: Encounters, capture chance, roster, level-up, evolution and bestiary foundations.

#First playable loop

Trigger encounter, weaken/capture creature, add to roster, and view species.

#Use these tools first

Database, Map Editor, Visual Logic, UI Builder, Content Validator.

#Create these resources first

Species, creature instance, capture rule, roster, encounter region.

#Validation gate

Capture adds creature to roster and species reference is valid.

#Advanced path

Add evolution, moves, battles, breeding, bestiary, and manual setup where needed.

#Troubleshooting

Problem First fix
Plugin does not appear Check folder nesting. The correct path is addons/dreamcatcher/plugin.cfg. Restart Godot after fixing.
Panels are missing Restart Godot, reset editor layout if needed, and check whether plugin enabled cleanly. Check Module Manager and no-autoload mode.
A custom node is missing The module that owns it may be disabled. Open Module Manager and verify module state.
Generated asset does not appear Refresh filesystem, check res://dream/generated/_registry/, and run generated asset validation.
Regenerate button is disabled Direct regeneration is mainly supported for stored map/dungeon/overworld presets in v0.9.4.
Assign says metadata-only This is expected for some v0.9.4 assignments. It means traceable assignment metadata was saved but full runtime binding may need later/manual setup.
Quick Play does not run Validate the current scene, check for missing main scene/current scene, and review Godot output errors.
Visual Logic does not trigger Check trigger area/collision layers, assigned sequence, condition values, and whether the actor can interact with the object.
NPC dialogue does not show Check dialogue resource reference, speaker/portrait references, interaction trigger, and UI/dialogue system availability.
Chest gives infinite rewards Add an opened variable/switch and check it before giving the reward.
Map event does not work Validate destination references, trigger shape, collision layers, target scene/spawn ID, and event page conditions.
Imported tilesheet looks wrong Check tile size, layout profile, spacing/margins, and asset license/ownership.
Audio/VFX does not play Check file path, assignment target, audio bus, metadata-only status, and whether runtime binding is supported for that case.
Export Preflight fails Install Godot export templates, check missing scenes/resources, and review platform-specific SDK/account requirements.
Project feels slow Run Content Validator, use Asset Cleaner, inspect Performance Panel, and reduce heavy generated content until the prototype is stable.

#FAQ

#Do I need to know GDScript?

No. Dreamcatcher is designed for no-code/low-code workflows. Knowing GDScript helps advanced customization but is not required for the beginner path.

#Can I use Dreamcatcher in an existing project?

Yes, but first test in a clean project and back up your existing project before enabling a large plugin.

#Can I make a full game with Dreamcatcher?

You can build prototypes and many game systems faster, but full games still require design, testing, polish, content, export validation, and platform-specific work.

#Is Dreamcatcher only for beginners?

No. It helps beginners start visually and gives advanced users Godot-native scenes/resources and low-code workflows.

#Where are generated assets saved?

Generated outputs should be saved under res://dream/generated/, with registry records under res://dream/generated/_registry/ and database resources under res://dream/database/.

#Can I delete generated assets?

Yes, but understand whether you are deleting only the registry record or also project-owned output files. Review before deleting.

#Can I use my own art and audio?

Yes. Use files you created, own, or are licensed to use.

#Does Dreamcatcher include third-party asset rights?

No. Dreamcatcher does not grant rights to proprietary third-party assets.

#Can I export my game?

Dreamcatcher helps prepare for Godot export. Export still depends on Godot export templates and platform requirements.

#Does Export Manager guarantee console export?

No. Console platforms require platform-holder approval, SDKs/devkits, and specific requirements outside Dreamcatcher.

#Why is a feature labeled Beta or Early Access foundation?

It means the workflow exists but may be evolving or require more manual setup. Do not overpromise those features in public marketing.

#What if the AI Dream Advisor suggests something that does not work?

Treat it as guidance. Verify with actual tools, Content Validator, and Godot playtesting.

#What happens if I remove the plugin later?

Project-owned Godot files remain in your project, but runtime/plugin-dependent nodes and systems may not work without Dreamcatcher unless baked/exported or replaced.

#Where do I start if overwhelmed?

Install, choose Universal or Platformer, create one small scene, add one interaction, validate, Quick Play. Ignore advanced tools until that works.

#Glossary

Term Meaning
Dreamcatcher The Godot plugin that provides no-code/low-code game creation tools, generated asset workflows, templates, resources, and validation.
Early Access A release stage where features are usable but still evolving. v0.9.4 is not a v1 stability promise.
Genre DNA A profile that focuses Dreamcatcher around a game genre or workflow, such as Platformer, Action RPG, or Visual Novel.
Universal The all-systems profile for custom, hybrid, or exploratory projects.
Scene Composer Tool for creating and managing scenes from template entries.
Visual Logic Node/graph-style no-code logic for gameplay behavior.
DreamSequence A saved logic sequence/graph used by Dreamcatcher behavior systems.
Generated asset A project-owned output tracked by Dreamcatcher with metadata, registry record, reports, and validation state.
Generated Asset Browser Tool for browsing, inspecting, validating, assigning, deleting, duplicating, and regenerating supported generated assets.
Metadata Information about an asset such as source tool, type, seed, output path, dependencies, status, and assignment target.
Validation A check that reports missing references, broken paths, incomplete resources, unsafe paths, or readiness issues.
Quick Play A fast test workflow for checking current playable content.
Resource A Godot .tres/Resource-style data file used for items, actors, quests, skills, etc.
Map event An object on a map that performs gameplay behavior, such as door, chest, NPC, trigger, spawn, or exit.
Region A painted/map-defined area with gameplay meaning such as encounter, music, weather, safe zone, or navigation.
TileMapLayer Godot 4.7 / 4.6.3 TileMapLayer workflow used for modern layered maps.
Classic 48x48 layout A tilesheet layout workflow for user-owned/licensed 48x48 grid art; not an asset-rights grant.
Export Preflight Checks that help prepare for Godot export without guaranteeing platform approval or console support.
Module Manager Tool for checking and controlling module availability, which can affect visible tools/nodes.
No-autoload mode Advanced setting that skips autoload registration; most users should leave it off.
Bake / Exit Ladder Workflows for turning plugin-managed/generated content into project-owned files and reducing lock-in.

#Support report template

When reporting a bug, copy this template:

Dreamcatcher Support Report

Dreamcatcher version: v0.9.4
Godot version:
Operating system:
Project type: New project / Existing project
Genre DNA profile:
Enabled modules changed? Yes / No / Unsure
No-autoload mode enabled? Yes / No / Unsure

What I was trying to do:

What happened instead:

Steps to reproduce:
1.
2.
3.

What I expected:

Screenshots or video:

Godot Output / console text:

Content Validator report:

Generated Asset report / registry record, if related:

Extra notes:

#User checklist

Before sharing a project, exporting, or asking for support, run this checklist:

  • Dreamcatcher is enabled in Godot 4.7 stable or Godot 4.6.3.
  • You know the current Genre DNA profile.
  • Generated assets are under res://dream/generated/, not in addons/dreamcatcher/.
  • Generated database resources are under res://dream/database/ or another clear project-owned folder.
  • Content Validator has been run and important warnings/errors are reviewed.
  • Generated Asset Browser shows expected records, or missing records are understood.
  • Map events have valid destinations/resources.
  • Visual Logic triggers have been playtested.
  • Audio/VFX/UI assignments are understood as applied, metadata-on-resource, metadata-only, or failed.
  • Module Manager does not show unexpected missing/disabled modules.
  • Asset Cleaner has been used carefully if many experiments were generated.
  • Export Preflight has been run before export.
  • You have a backup before migration, baking, cleaning, or major deletion.

#Godot setup verification checklist

Use this checklist after installing or updating Dreamcatcher to confirm that the editor surfaces, starter workflows, generated assets, validation tools, and export preparation helpers behave as expected.

Area Expected result
Enable plugin in clean project Plugin loads without critical errors.
Restart Godot Dreamcatcher surfaces return.
Disable/re-enable plugin Docks/toolbars clean up and do not duplicate.
No-autoload mode Autoload warning in this guide matches actual behavior.
Scene Composer Creates/saves a usable scene.
Quick Play Runs the chosen test scene.
Generated Asset Browser Shows record, metadata, preview/report where supported.
Dungeon/map/overworld regeneration Works from stored preset where supported.
Assign/apply UI wording and actual behavior match metadata/supported-field boundaries.
Content Validator Warnings/errors make sense and can be rerun.
Asset Cleaner Review-before-delete behavior matches docs.
Export Preflight Shows real Godot template/platform warnings.

#Learning and reference guide

This section shows how the main Dreamcatcher systems fit together, then gives practical learning paths for building small playable results before attempting larger games.

#Start small: first-day learning path

#“Use only five things first”

#If Dreamcatcher feels overwhelming, use only five things first

Dreamcatcher has many tools, but you do not need to learn them all at once.

Start with only:

  1. Genre DNA: choose a direction.
  2. Scene Composer or Map Editor: create one small scene/map.
  3. Visual Logic or Map Event: add one interaction.
  4. Content Validator: fix missing references/warnings.
  5. Quick Play: test the result.

Ignore advanced AI, behavior trees, FSM, multiplayer, bake/export, huge maps, and all 42 profiles until one small loop works.

#Visual diagram

Choose DNA → Create Scene/Map → Add Interaction → Validate → Quick Play → Save

#What not to touch first

Do not start with:
- all 42 DNA profiles;
- behavior trees/FSM;
- multiplayer/networking;
- full export setup;
- giant maps;
- complex procedural generators;
- all resources at once;
- long graph chains;
- advanced module settings.

#How Dreamcatcher fits together

#Dreamcatcher mental model: scenes, resources, graphs, maps, DNA, generated assets

Dreamcatcher becomes easier when you separate six things:

Thing What it means Example
Scene A Godot scene with nodes. Player scene, battle scene, title screen, map scene.
Map A scene with TileMapLayer layers, events, regions, and helper data. Town, dungeon floor, overworld route.
Resource Reusable game data. Item, enemy, actor, quest, dialogue, shop, skill.
Graph / Sequence Visual logic that makes something happen. Chest opens, NPC talks, enemy patrols, quest starts.
DNA Profile Dreamcatcher workflow preset. Action RPG, Visual Novel, Platformer.
Generated Asset Project-owned generated output tracked by the registry. Dungeon, icon, sprite, music, SFX, loot table, database resource.

A working Dreamcatcher game usually combines all six:

DNA helps choose the workflow.
Scenes and maps hold the playable world.
Resources describe game data.
Graphs create behavior.
Generated assets provide starting content.
Validation connects and checks everything.

#DNA vs genre overview

#DNA vs genre

A genre is the kind of game you want to make.

A Dreamcatcher DNA profile is a workflow preset that changes recommendations, templates, tool focus, resources, and examples for that game type.

If your game is... Start with DNA... Dreamcatcher emphasizes...
2D action RPG Action RPG actors, enemies, quests, loot, maps, NPCs
Dialogue route game Visual Novel dialogue, choices, chapters, portraits, variables
Jump-and-run Platformer movement, hazards, pickups, checkpoints
Dungeon crawler Action RPG or Roguelike maps, dungeons, encounters, loot tables
Hybrid/unknown Universal all systems visible until you specialize

DNA does not lock your project. It guides your workflow.


#Full game dependency order

Build in dependency order. Do not build every feature at once.

  1. Choose one DNA/profile.
  2. Define one-sentence game goal.
  3. Define first playable loop.
  4. Create a clean test project.
  5. Create player scene and input.
  6. Create one scene/map.
  7. Add one interaction.
  8. Create only the resources required by that interaction.
  9. Create the logic graph or map event.
  10. Attach the graph/event to the scene object.
  11. Validate.
  12. Quick Play.
  13. Add UI feedback.
  14. Add audio/VFX feedback.
  15. Add save/progression only after the loop works.
  16. Expand to one vertical slice.
  17. Duplicate the pattern for more content.
  18. Clean unused generated tests.
  19. Performance check.
  20. Export preflight.
  21. Test exported build.

#Player, input, actor, and stats workflow

#Player setup workflow

#Player setup workflow

A player needs a scene node, input, collision, movement, camera, optional actor data, and logic.

  1. Create or choose a player scene.
  2. Use the correct base:
  • 2D: CharacterBody2D / DreamActor2D-style setup.
  • 3D: CharacterBody3D / DreamActor-style setup.
  1. Add sprite/model and collision.
  2. Add or verify camera.
  3. Configure input actions.
  4. Create DreamActorData if RPG/combat/stats are needed.
  5. Set faction, base stats, equipment, skills as needed.
  6. Attach logic graphs for interaction/damage/special actions.
  7. Validate.
  8. Quick Play.

#Input setup workflow

#Input setup workflow

Common actions:

Action Use
move_left / move_right / move_up / move_down movement
jump platformers
attack combat
interact NPCs, chests, doors
confirm / cancel menus/dialogue
pause pause menu
dash action games

Test input with:

On Input Action "interact" → Show Notification "Interact pressed"

Only connect input to important gameplay after the test works.

#Actor and stats workflow

#Actor and stat setup workflow

Use actor data when a character needs identity, stats, equipment, skills, or progression.

Field group What to set
Identity ID, name, description
Appearance portrait, battle sprite, overworld sprite, model
Class/faction class, faction, role, max level
Stats HP, MP, attack, defense, automatic, agility, luck, speed
Equipment weapon, shield, armor, accessories
Skills starting skills and learn-at-level data
Logic optional visual logic graph

#Map Editor course

This guide includes a full Map Editor course, not just a reference paragraph.

#Map Editor mental model

#Map Editor workflow

Map Editor uses real Godot TileMapLayer nodes for visible map layers and helper nodes for gameplay data such as events, regions, collision helpers, and navigation helpers.

A map usually includes:

Piece Meaning
Visual tile layers Ground, terrain, walls, objects, roofs, shadows
Event layer Doors, chests, NPCs, shops, triggers
Region data Encounter zones, music zones, safe/danger zones
Collision/navigation helpers Data that helps movement and validation
Resources Items, enemies, quests, dialogue, shops, troops
Logic graphs .dcs / DreamSequence behavior for events and triggers

#Default map layers in Map Editor

Layer Use it for Z index Y-sort
Ground Base grass, dirt, stone, floor, water base 0 No
Terrain Terrain transitions, paths, cliffs, special floor surfaces 1 No
Walls Blocking walls, vertical surfaces, building bodies 2 No
Objects Interactive/decorative objects that may overlap the player 3 Yes
Furniture Tables, chairs, interior objects 4 Yes
Decorations Plants, signs, props, small scenery 5 Yes
Roofs Roof overlays and upper structures 6 No
Shadows Decorative shadow overlays 7 No

#Map helper nodes

Helper node Use it for Z index
Lighting_Node2D lighting 80
Events_Node2D events 90
Regions_Node2D regions 100
CollisionHelpers_Node2D collision 110
NavigationHelpers_Node2D navigation 120

#Map paint tools

Tool Use it for Common beginner mistake
Pencil Paint individual cells or freehand paths Painting on the wrong layer
Rectangle Fill rectangular areas Forgetting the active layer
Bucket Fill connected areas Filling more than expected
Eraser Remove tiles/data in the active mode Erasing event/region data instead of visual tiles
Picker Pick an existing tile/data value Picking from the wrong layer/mode
Line Draw straight paths, walls, roads Using line for irregular natural shapes
Ellipse Draw round areas/zones Expecting it to create collision automatically
Scatter Scatter decoration/vegetation/rocks Overusing scatter before layout is readable

#Map modes

Mode Use it for
Tile Paint Visible tile painting on active TileMapLayer
Collision Paint Collision or blocked helper areas
Region Paint General map regions with behavior metadata
Event Paint Doors, chests, NPCs, pickups, save points, triggers
Spawn Paint Player/enemy/entry spawn markers
Encounter Paint Random/bound encounter zones
Music Zone Paint BGM/ambience zones
Weather Zone Paint Rain/fog/storm/weather behavior
Navigation Paint Walkable/pathfinding helper areas

#Beginner map-building order

1. Create or open a small test map.
2. Confirm tile size.
3. Assign or import a TileSet.
4. Paint Ground and Walls first.
5. Add Objects/Furniture/Decorations after the walkable layout works.
6. Add collision or blocked regions.
7. Place one player spawn.
8. Place one event: door, chest, NPC, or pickup.
9. Paint one gameplay region: encounter, music, weather, safe, danger, or quest zone.
10. Validate the map.
11. Quick Play and walk through it.
12. Fix collision, event, region, or missing-resource warnings.

#Map tutorials

Tutorial What it teaches
First empty map layers, tileset, active layer, paint mode, save, validate
Door transfer event template, condition, command, target map/spawn
Chest one-time reward item resource, add_item, SFX, self-switch
NPC quest giver NPC event, dialogue, quest, logic graph
Encounter zone enemy/troop table, region ID, encounter rate
Music/weather zone region behavior, BGM/weather data, runtime query
Generated dungeon to editable map generator, browser, map scene, edit, validate

#Tilesets and Classic 48×48 workflows

#Tilesets, tile size, and Classic 48×48 workflows

  1. Prepare artwork you created, own, or are licensed to use.
  2. Import the image into the Godot project.
  3. Choose the correct tile size: 16, 32, 48, 64, etc.
  4. Use Godot TileSet or Dreamcatcher import helper.
  5. Check that tiles appear in the palette.
  6. Paint a small test map.
  7. Validate collisions/navigation/terrain roles if used.

Classic 48×48 support is layout compatibility only. Dreamcatcher does not include or grant rights to third-party proprietary artwork.

Public terms to use:

Concept Public meaning
Layout profile How a tilesheet is organized
Source image Artwork file you imports
Tile size Grid size used to slice source
Role metadata Terrain/collision/navigation/decorative hints
Autotile/terrain hints Import hints for Godot TileSet terrain setup
Import warnings Missing/empty/unexpected tile areas

#Map events, pages, conditions, commands, self-switches

#Event templates

Template Typical use
door Transfer to another map/scene/cell
chest Give item/gold once, play SFX/VFX, set self-switch
npc Dialogue, quest, shop, relationship
sign Show text
save_point Open save menu or save game
shopkeeper Open shop resource
quest_giver Start or complete quest
enemy_encounter Start battle/encounter
pickup Give item on touch/interact
cutscene_trigger Run cinematic or sequence
damage_tile Damage player on touch/step
healing_tile Heal player on touch/step
teleport Move player to target map/marker/cell
region_trigger React to region entry/exit
music_zone Change BGM or ambience
weather_zone Apply weather

#Event page triggers

Trigger Use when
action_button Player presses interact near event
player_touch Player touches/enters event
event_touch Another event touches this event
autorun Runs automatically and can block/drive flow
parallel Runs repeatedly/periodically; use carefully
region_enter Runs when actor enters region
region_leave Runs when actor leaves region
on_map_load Runs when map loads
on_quest_state_changed Runs when linked quest state changes

#Event page conditions

Condition Example
always Page is always available
switch Door open if global switch is on
self_switch Chest opened state A/B/C/D
variable Run page if variable is above/below value
item Door opens if player has key
quest NPC changes dialogue based on quest status
actor_in_party Event requires specific party member
enemy_defeated Trigger after boss is defeated
region Page only available in specific region
visual_logic Page depends on graph/context flag

#Event commands

Command Beginner example
dialogue Show NPC/sign/chest text
show_choice Ask yes/no or route choice
set_switch Mark door unlocked
set_variable Count kills, score, route points
add_item Chest gives potion/key
remove_item Door consumes key
change_gold Quest reward
teleport Move player
change_scene Load another scene
play_se Chest/door/pickup sound
play_bgm Change music
stop_bgm Stop music
fade_screen Transition/cutscene
shake_screen Hit/scare/earthquake
force_battle Start battle
change_quest Start/update/complete quest
open_shop Open shop UI/resource
save_game Save point
open_menu Open feature list/pause/etc.
set_weather Apply weather
show_animation Visual feedback
change_hp Damage/heal actor
wait Delay sequence
branch Conditional flow

#Self-switch tutorial

#Self-switches for one-shot events

Use self-switches for event-local state.

Chest Page 1: Condition: self_switch A is OFF Commands: add_item potion → play_se chest_open → set self_switch A ON

Chest Page 2: Condition: self_switch A is ON Commands: dialogue "The chest is empty."

Self-switches are better than global switches for repeated objects because each event remembers its own state.


#Region painting and DreamRegionQuery

Behavior Use it for
biome Footstep material, environment tags, biome logic
encounter Random or forced encounter zone
music_zone Change BGM/ambience on entry
weather_zone Apply weather effect
quest_zone Quest objective area or trigger
cutscene_trigger Run a sequence when entering a region
safe_zone Suppress encounters/danger
danger_zone Increase danger/encounter rate
fast_travel Send player to another map/cell/marker
spawn Spawn marker
collision Blocked or special movement helper
navigation Walkable/pathfinding helper
custom User-defined behavior

#Region workflow

1. Choose map mode: Region / Encounter / Music / Weather / Navigation.
2. Choose region ID.
3. Name the region.
4. Choose behavior type.
5. Enter behavior property: troop ID, BGM path, weather type, quest ID, `.dcs` path, fast-travel target, or custom property.
6. Paint cells.
7. Save region data.
8. Add/verify runtime region query where required.
9. Validate.
10. Quick Play: walk in and out of the region.

Explain:

Component Public meaning
DreamMapRegionData Stores painted region cells and metadata
DreamRegionBehavior Describes what a region does
DreamRegionQuery Runtime helper that detects/apply region behavior

#Generated maps and editable map scenes

#Generated maps and editable maps

  1. Generate map/dungeon/overworld with Procedural Toolkit or a generator.
  2. Open Generated Asset Browser.
  3. Inspect preview, metadata, report, output path, dependencies.
  4. Validate the generated asset.
  5. Apply/open as editable map scene where supported.
  6. Confirm the map uses real layers and project-owned paths.
  7. Edit tiles/events/regions in Map Editor.
  8. Save under res://dream/maps/generated/ or user project folders.
  9. Validate map structure.
  10. Quick Play.

Boundary:

Direct regeneration is mainly supported for stored dungeon/map/overworld presets. Other generated asset types may still allow preview, duplicate, delete, assign, or validate actions without direct deterministic regeneration.


#Visual Logic course

#What is a graph?

A Dreamcatcher graph is visual logic. It connects nodes that represent events, conditions, actions, data, state, and feedback.

A graph answers:

1. When does this start?
2. What does it check?
3. What does it do?
4. How does the player see the result?

Simplest pattern:

Start/Event → Condition → Action → Feedback → End

#What is a .dcs file?

A `.dcs` file is a Dreamcatcher visual-logic sequence file. It can store a graph/sequence that Dreamcatcher can load as a `DreamSequence` resource.

Use .dcs for:

  • chest rewards;
  • locked doors;
  • NPC dialogue triggers;
  • enemy patrol/chase/attack;
  • quest start/completion;
  • cutscenes;
  • reusable common events.

Recommended folders:

res://dream/logic/
res://dream/logic/common/
res://dream/logic/npc/
res://dream/logic/enemies/
res://dream/logic/quests/
res://dream/logic/maps/

#Key runtime pieces

Piece Meaning
.dcs Saved Dreamcatcher graph/sequence file
DreamSequence Resource that stores commands/graph data/local memory
DreamBehavior Node/component that runs a DreamSequence on a scene object
DreamDirector Runtime service that executes graph sequences
ai_graph metadata Saved graph/editor/runtime metadata
compiled_graph Runtime-ready graph data for older/classic paths
blackboard/local memory Temporary graph/AI memory while logic runs

#Visual Logic graph workflow

1. Decide what the graph controls.
2. Choose graph type: event graph, reusable object behavior, dialogue-heavy flow, AI behavior tree/FSM, UI reaction, or scene controller.
3. Add a start/event node.
4. Add conditions.
5. Add actions.
6. Add feedback.
7. Save as `.dcs` or resource.
8. Attach to node with `DreamBehavior` or map event.
9. Validate graph/sequence and resources.
10. Quick Play success and failure branches.

#Attach graph with DreamBehavior

1. Create/select scene object: chest, door, NPC, enemy, trigger, player, scene controller.
2. Add `DreamBehavior`.
3. Assign `.dcs`/`DreamSequence` to `logic_script`.
4. Set:
  - `run_on_ready = true` if it should run on scene load.
  - `run_on_ready = false` if waiting for interaction/signal.
  - `trigger_signal = "interacted"` or another real signal if needed.
5. Quick Play.
6. Check graph assignment, signal name, resource paths, start node, execution wires, Content Validator.

#How graphs run

Start method Example
Run on ready scene controller initializes HUD/music/variables
Input action player presses interact/attack/jump
Area/collision signal player enters trigger area
Interaction signal chest/NPC/door interaction
Narrative choice dialogue choice triggers gameplay result
Event bus one graph announces event; others listen
Common event call graph calls reusable sequence
AI update behavior tree/FSM tick

#Execution wires vs data wires

Wire type Meaning Example
Execution wire Controls what happens next Start → Check Key → Open Door
Data wire Passes value into a node Get HP → Compare HP < 50

Rule:

Data values do not start logic. A graph still needs an event/start node and execution flow.

#Connecting multiple graphs

Method Use when Example
Common Event / Sequence call One graph should run another Quest completion calls reward sequence
Event Bus shout/listen Several objects react to one event Boss defeated opens door and changes music
Shared variable/switch Persistent state is needed quest_forest_started = true
Resource reference Graph uses data resource Chest gives item_potion
Narrative choice output Dialogue affects gameplay Choice starts quest or battle
Map event target Map event links/runs graph Door event calls transfer graph

#Behavior tree vs FSM vs event graph

System Best for Mental model
Event graph Interactions and one-time flows When X happens, do Y
Behavior tree AI priority decisions Try this; if it fails, try that
State machine / FSM Objects in one state at a time Idle → Chase → Attack → Return
Blackboard AI/local memory Remember facts while deciding

#Decision rule

Situation Recommended system
Chest/door/dialogue choice Event graph
Simple slime walks/attacks FSM or simple event graph
Guard patrol/chase/search/return Behavior tree or FSM
Boss with HP phases FSM + event graph
Tactical squad enemy Behavior tree + blackboard
UI response Event graph
Story route decision Narrative Weaver + event graph

#Narrative Weaver to Visual Logic bridge

Narrative Weaver handles conversation and story flow. Visual Logic handles gameplay consequences.

Use Narrative Weaver for:
- speaker lines;
- choices;
- portraits/backgrounds;
- relationship/route changes;
- chapters;
- dialogue presentation.

Use Visual Logic for:
- starting/completing quests;
- giving/removing items;
- opening doors;
- changing scenes;
- starting battles;
- switches/variables;
- SFX/VFX;
- cutscene gameplay effects.

#Bridge examples

Story event Gameplay result
Accept quest choice Start quest, set switch, add objective
Refuse choice Relationship down, close dialogue
NPC gives key Add key item, play SFX, update quest
Conversation ends Unlock door, change scene, start cutscene
Affection threshold Unlock route branch

#Workflow

1. Create DreamDialogue / DreamChapter content.
2. Build dialogue/choice flow in Narrative Weaver.
3. Create gameplay consequences in Visual Logic.
4. Link choices to switches, variables, quests, rewards, or graph calls where supported.
5. Attach to NPC or map event.
6. Validate dialogue/quest/resource references.
7. Quick Play every branch.

#Database guide

Every resource page must follow this template.

#Resource type

Use it for: what this resource represents.

#Create this first if...

When you needs it.

#Required fields

Only fields needed for first working prototype.

Which scenes/graphs/tools use this resource.

#Beginner workflow

Step-by-step.

#Validation checks

IDs, paths, references, missing assets, duplicate values.

#Database workflows

Resource family Needed public tutorial
Actor / Player ID, display name, faction, base stats, visuals, input/scene link
Enemy ID, type, level, stats, AI pattern, rewards, drops, scene link
NPC Node/ID/dialogue/quest/shop/relationship/schedule link
Quest Objectives, prerequisites, rewards, dialogue and graph links
Dialogue Participants, lines, choices, variables, quest consequences
Item ID, icon, type, stackability, use effect, reward/drop/shop use
Skill Cost, target, effect, animation/SFX, actor/enemy link
Weapon / Armor Stats, equip slot, icon, actor class restrictions
Shop Item list, prices, shopkeeper event/dialogue
Loot Table Weighted drops, gold/EXP, enemy/quest link
Troop / Wave Enemy groups, encounter/battle link
Tileset Data Source image, tile size, layout profile, roles, warnings
Map Region Data Region IDs, behavior type, cells, music/weather/encounter/quest links
Creature Species / Roster / Capture Rule Species ID, stats, capture chance, evolution/roster links
Card / Deck Card IDs, costs, tags, deck list, draw/play rules
Generated Asset Records Metadata, preview, report, preset, output path, dependency, assignment

#NPC, enemy, encounter, quest, item, reward workflows

#NPC setup

1. Create/place NPC node or map event.
2. Give NPC ID/name.
3. Create DreamDialogue/Narrative Weaver conversation.
4. Create Visual Logic interaction:
  Player interacts → Show dialogue → Branch choice → update quest/switch/relationship.
5. Create DreamQuest if NPC gives quests.
6. Create DreamShop if NPC sells items.
7. Configure relationship/schedule if needed.
8. Attach graph/dialogue to NPC or map event.
9. Validate and test all branches.

#Enemy setup

1. Create DreamEnemy resource.
2. Set ID/name/type/level.
3. Assign visuals.
4. Fill stats.
5. Add skills/actions.
6. Choose AI pattern/rules.
7. Add EXP/gold/drops/loot table.
8. Add element modifiers/immunities/boss phases if needed.
9. Create/assign enemy scene.
10. Attach behavior graph: event graph, FSM, behavior tree, or boss FSM.
11. Place enemy directly or register in encounter/troop system.
12. Validate and Quick Play.

#Encounter setup

1. Create enemy resources.
2. Create troop/encounter group.
3. Configure encounter table: region_id → troop IDs/weights.
4. Mark safe regions.
5. Paint encounter regions in Map Editor.
6. Configure step count/rate/variance.
7. Add encounter start logic.
8. Test safe and dangerous regions.
9. Validate region IDs, troop IDs, enemy resources, battle scene references.

#Quest/dialogue/item/reward workflow

1. Create required items/rewards first.
2. Create enemy/objective resources if needed.
3. Create quest: ID, title, category, objectives, rewards, prerequisites.
4. Create NPC dialogue.
5. Create start graph: talk → check prerequisites → start quest → show notification.
6. Create objective graph: enemy defeated / item collected / area reached → update quest step.
7. Create reward graph: return to NPC → check complete → give reward → complete quest.
8. Validate IDs/references.
9. Quick Play incomplete and complete branches.

#Generated assets workflow

#Generated Asset Workflow

  1. Generate one asset with Procedural Toolkit, Sound Studio, Sketch Enhancer, map/dungeon generator, or converter.
  2. Save under project-owned folder such as res://dream/generated/.
  3. Open Generated Asset Browser.
  4. Inspect type, metadata, preview, report, output path, dependencies, assignment keys.
  5. Validate the generated asset.
  6. Assign/apply where supported.
  7. Use the output in a scene/resource/map/UI.
  8. Duplicate if useful.
  9. Regenerate only if the type supports deterministic stored-preset regeneration.
  10. Delete/clean experiments through safe review, not blind deletion.

#Generated Asset Browser overview

Topic Required user explanation
Registry record How Dreamcatcher tracks generated outputs
Metadata What was generated and why
Preview What users inspect before using
Report Warnings/quality/path/dependency info
Assignment Supported field/metadata writes
Regeneration Mostly map/dungeon/overworld stored presets
Deletion Registry record vs actual output files
Validation Missing output path, stale record, bad dependency

#UI Builder workflow

#UI Builder workflow details

  1. Decide UI purpose: HUD, menu, feature list, dialogue box, shop, settings, pause.
  2. Choose device/layout/theme.
  3. Add components.
  4. Bind or plan values: HP, MP, currency, quest objective, item icon.
  5. Preview.
  6. Export/save as .tscn project content.
  7. Add UI scene to game scene or runtime UI flow.
  8. Connect UI to variables/resources/Visual Logic where supported.
  9. Validate missing textures/fonts/icons/references.
  10. Quick Play.

Tutorials to include:

  • first HUD;
  • dialogue box;
  • shop UI;
  • pause menu;
  • feature list panel;
  • mobile-friendly HUD.

#Audio, VFX, animation, cinematic feedback

#Feedback systems: audio, VFX, animation, cinematics

Every important action should have feedback.

Action → Logic/Event → Feedback:

  • chest opens → play SFX + animation;
  • enemy hit → damage numbers + VFX + sound;
  • quest starts → notification + sound;
  • cutscene begins → fade + camera focus + dialogue;
  • region entered → music/weather change.

#Tool bridges

Tool Connect it to
Sound Studio events, region music zones, UI SFX, battle SFX
VFX tools hit, pickup, automatic, cutscene, status effects
Animation Studio player/enemy/NPC state changes, attacks, movement
Cinematic Editor Narrative Weaver, map triggers, camera, screen effects, dialogue
Conditional Assets state-based visual/audio changes

#Save, state, switches, variables, self-switches

#Save/state reference for game logic

Use the right state type.

State type Use for
Local blackboard temporary graph/AI memory
Self-switch one object remembers its own state
Switch global true/false game state
Variable global or persistent number/string/count/state
Resource field data stored in an item/enemy/quest/dialogue/etc.
Save system state that must survive closing the game

Rule:

  • Use blackboard for temporary logic.
  • Use self-switch for individual map events.
  • Use switches/variables for global story/game state.
  • Use resources for structured content.
  • Use save/load for persistence.

#Localization, accessibility, mobile/touch, multiplayer, achievements

#Localization

Use localization resources for public-facing text such as UI labels, dialogue, menus, item names, quest names, and tooltips.

  • Plan stable text IDs/keys before writing large amounts of dialogue.
  • Test language switching early.
  • Check text overflow in buttons, HUD elements, menus, and dialogue boxes.

#Accessibility

Plan accessibility from the first playable prototype instead of adding it at the end.

  • Use readable text sizes and contrast.
  • Support captions or subtitles for important audio.
  • Allow input remapping where possible.
  • Offer reduced effects or alternative feedback for intense visuals.

#Mobile/touch

Use DreamVirtualJoystick, DreamTouchButton, DreamTouchDPad, and DreamGestureArea as helpers for touch-friendly control layouts.

  • Keep buttons large enough for thumbs.
  • Leave space around important UI.
  • Map touch controls to the same input actions used by keyboard/controller.
  • Test on the target device, not only in the editor.

#Multiplayer boundary

DreamNetSync and networking-related tools are advanced systems. Treat them as foundations that still require real multiplayer testing.

  • Test authority and ownership.
  • Test latency and reconnection behavior.
  • Validate lobby/session flow if used.
  • Review platform networking rules and security needs.

#Achievements

Use achievements as progression or reward signals connected to variables, quests, milestones, UI notifications, and save data.

  • Define when the achievement unlocks.
  • Show feedback when it unlocks.
  • Store it in save/progression state if it must persist.

#Tool workflow pattern

Every major Dreamcatcher tool should help users move from intention to a visible result. Use this checklist when learning a tool or reviewing whether a workflow is complete.

QuestionWhat a good tool page should answer
Where do I open it?The first click path from the Dreamcatcher dock, menu, or related tool.
When should I use it?The kind of game task the tool is best for.
What do I create?The scene, resource, graph, map, generated asset, or report that should appear.
What should I test?A simple Quick Play or validator check that proves the tool output is usable.
What can go wrong?The most common beginner mistake and the first safe fix.

#Visual Logic node category reference

Category Use it for Beginner example
Events Start graph execution On input, on collision, on ready
Flow Control Branch, sequence, loop, switch If key exists, open door
Blackboard Temporary graph/AI memory Remember last player position
Switches & Variables State and conditions Chest opened, quest started
Dialogue Text, choices, notifications NPC conversation
Inventory Items, gold, shop actions Chest gives potion
Actor HP, spawn/destroy, level, actor changes Enemy takes damage
Movement Move, teleport, route, transfer Door changes scene
Audio BGM/SFX playback Chest open sound
Screen Effects Fade, flash, shake, tint, picture Cutscene transition
Battle Combat/battle start and effects Random encounter starts
Game Flow Save, game over, quest status, menus Quest completion
Behavior Tree AI priority decisions Patrol → chase → attack
State Machine / FSM Named states and transitions Idle → Alert → Chase
AI / Memory AI blackboard use Last seen player position
AI / Perception Sensing targets Guard vision detection
QTE Timed input sequences Boss finisher
Visual Novel Characters, backgrounds, choices VN scene route
Conditional Assets State-based assets Poisoned animation/audio
Animation Library Animation setup/playback Auto setup walk/idle
Cards / Board / Genre Nodes Genre-specific gameplay systems Draw cards, roll dice, tower attack

#Visual Logic template reference

This guide explains that Visual Logic templates are starting points, not finished games. Include the most useful templates as task routes:

Template family Example templates
Interaction Locked Treasure Chest, Pressure Plate Door Unlock
Combat Basic Melee Attack, 3-Hit Melee Combo, RPG Character Damage States
AI Guard Patrol AI, Enemy AI behavior tree, NPC state machine
Movement Moving Platform, Double Jump
Survival/Farm Hunger Depletion System, Plant & Grow Crop
Cards/Board Start Turn & Draw Card
UI/Game Flow Scene Init + HUD Setup, Death → Respawn/Game Over, Level Complete → Next
Audio Contextual BGM
Visual Novel VN Scene Setup, VN Dialogue Scene, VN Timed Choice Branch
Puzzle Puzzle Gate → Unlock Path

#Which tool should I use?

User wants to... Recommended tool chain
Create a playable character Player Setup → Input Setup → Actor/Stats → Visual Logic
Create a map Map Editor → Tileset → Layers → Events/Regions → Map validation
Make a door require a key Item → Map Event door → condition item/switch → teleport/change_scene
Make a chest open once Item → Map Event chest → add_item → play_se → self_switch A
NPC gives quest DreamQuest + DreamDialogue → Narrative Weaver → Visual Logic → NPC/map event
Start battle from map Enemy/Troop → Encounter region/event → force_battle/change_scene
Create shop DreamShop → Shopkeeper event/NPC → open_shop → validate item prices
Add cutscene Narrative/Cinematic → Visual Logic or map trigger → camera/dialogue/audio/VFX
Generate dungeon Procedural Toolkit → Generated Asset Browser → editable map → Map Editor → validate
Prepare export Content Validator → Generated Asset Validation → Asset Cleaner → Export Manager → Godot export test

Add each cookbook entry as a mini-page with:

Goal → Required resources → Required scene/map objects → Required graph/event → Validation → Quick Play test → Common mistakes

#Scenario review checklist

Use this checklist to judge whether a tutorial scenario is complete enough for a beginner to follow without guessing.

Scenario partRequired explanation
GoalWhat you is building and why it matters.
Click pathWhere to go in Godot or Dreamcatcher before each action.
Expected resultWhat appears on screen after the step works.
Created or changedThe scene, node, resource, graph, map event, or setting that changed.
Failure recoveryThe first safe fix if the step does not work.
Continue whenA clear success condition before moving to the next step.

#Debugging graphs, maps, resources

#Graph debugging checklist

1. Is the graph saved?
2. Is `.dcs`/DreamSequence assigned to the right object?
3. Does the object have DreamBehavior or a map event trigger?
4. Is run_on_ready correct?
5. If using trigger_signal, does the parent really emit that signal?
6. Does the graph have a valid start/event node?
7. Are execution wires connected?
8. Are data wires connected to correct ports?
9. Are resource IDs spelled correctly?
10. Are referenced items/quests/enemies/dialogue resources present?
11. Does a condition fail silently?
12. Does the graph call another graph with the wrong path?
13. Does Content Validator show warnings?
14. Does the Godot Output panel show errors?
15. Does Quick Play run the correct scene?

#Map debugging checklist

1. Correct map mode?
2. Correct active layer?
3. TileSet assigned?
4. Tile size correct?
5. Layer locked/hidden?
6. Event placed on event helper layer?
7. Event page condition true?
8. Trigger type appropriate?
9. Self-switch/state correct?
10. Required item/quest/switch/variable exists?
11. Region ID matches encounter/music/weather/quest data?
12. Collision/navigation helper correct?
13. Runtime region query present where needed?
14. Validate map.
15. Quick Play from expected spawn.

#Symptom table

Symptom Likely cause Fix
Nothing happens no start node, graph not assigned, signal mismatch assign graph, add event node, check signal
Dialogue appears but quest does not start Narrative not linked to logic call quest-start graph or set quest state
Chest gives infinite rewards no self-switch/variable set and check self-switch A
Door always locked item/switch ID mismatch check resource ID and condition
Enemy never attacks AI graph not running or state never transitions check behavior/FSM/perception
Encounter never starts region/troop/table mismatch check region ID and encounter table
Music/weather zone does nothing region behavior/query missing check region behavior and runtime query
Exported graph loads empty bad/stale graph save re-save .dcs, validate
Generated asset missing registry/output path mismatch refresh filesystem, validate registry
UI does not update not bound to state/variable connect UI to variable/resource/logic

#Visual checkpoints and diagrams

Use these checkpoints while following the tutorials. Each one describes what the screen should roughly show at that stage. When screenshots or short GIFs are added later, they should match these moments.

#Plugin enabled

Godot Project Settings → Plugins → Dreamcatcher enabled

You should see Dreamcatcher tools, docks, or menu entries after enabling the plugin.

#First scene open

Scene Composer output: one editable `.tscn` scene

The scene should appear in the Scene dock and FileSystem, not only inside a generator preview.

#First interaction placed

Pickup, chest, door, NPC, or trigger visible in the scene/map

The object should be selectable and should have either an event, graph, or behavior assigned.

#Visual Logic graph saved

Graph/event path saved as `.dcs` and assigned to an object

The graph is not complete until something in the scene can run it.

#Validator report

Content Validator result: success, warning, or clear fix instruction

Fix blocking errors before adding more systems. Warnings can often be handled one at a time.

#Quick Play result

The player can move, touch/interact, see feedback, and repeat the test

Playtesting is the real proof that the tutorial step worked.

#Reference

This reference section summarizes the v0.9.4 package and tool references. Use it when you need exact counts, tool names, resource families, module IDs, generated asset types, or supported workflow boundaries.

#Version overview

This overview helps you understand the size and scope of the Dreamcatcher v0.9.4 package.

Area Current package value
Plugin version 0.9.4
Wizard revision 0.9.4-r1
Required Godot version 4.6 minimum loader gate; 4.7 stable target; 4.6.3 supported baseline
Addon files under addons/dreamcatcher 866
GDScript files 729
GDScript LOC ~144,634
Unique class_name declarations 337
Duplicate class names 0
Signals declared 599
Direct @export annotations 2258
Autoload registrations 28
Custom type registrations 113
Module IDs 50
Resource scripts in resources/ 47
Featured tools 24
Genre DNA profiles Universal + 42 selectable
Generated asset types 18
Visual Logic node scripts 291 visual logic node scripts in package
Static DreamLogicLibrary node definitions 185
Visual Logic templates 40
Narrative Weaver node types 59 node types in 10 categories
UI Builder components 113
UI Builder themes 20
UI Builder device sizes 13
Procedural Toolkit tabs 12 Generate + 4 Convert + 3 Design
Scene Composer templates 154 DreamTemplateData templates / 43 internal groups / 36 visible category groups / 149 visible names
Bundled .tscn files 36
Package Markdown documents 13
Translation resources 11 .translation files + source CSV
# Key Label Category Status Package description
1 almanac Almanac creation stable Central knowledge + database hub for game logic and content.
2 visual_logic Visual Logic creation stable Node-based zero-code logic graph editor.
3 scene_composer Scene Composer creation stable Browse, create, duplicate, and export scenes from templates.
4 ui_builder UI Builder creation stable Build menus, HUDs, and UI layouts visually.
5 narrative_weaver Narrative Weaver creation stable Author dialogue, branching stories, and quests.
6 map_editor Map Editor creation stable TileMapLayer-based map painting and region tools.
7 animation_studio Animation Studio creation stable Author sprite/skeletal animations and presets.
8 sound_studio Sound Studio creation stable Generate and edit SFX and music loops.
9 cinematic_editor Cinematic Editor creation stable Sequence cutscenes, camera moves, and events.
10 sketch_enhancer Sketch Enhancer asset beta Turn rough sketches into cleaner usable art.
11 gameplay_director Gameplay Director creation stable Configure gameplay rules, pacing, and director logic.
12 ideation_board Ideation Board creation stable Plan ideas, references, and design notes on a board.
13 procedural_toolkit Procedural Toolkit asset stable Procedurally generate sprites, palettes, maps, audio, and VFX.
14 generated_asset_browser Generated Asset Browser asset stable Browse, filter, and assign all generated project assets.
15 ai_dream_advisor AI Dream Advisor system stable Guided answers about DNA profiles, tools, and workflows.
16 database Database creation stable Edit typed game data resources (items, enemies, quests, ...).
17 content_validator Content Validator validation stable Validate scenes, templates, and DNA-specific requirements.
18 asset_pipeline Asset Pipeline asset stable Import/process external and generated assets into the project.
19 performance_panel Performance Panel system stable Inspect runtime performance and budgets.
20 module_manager Module Manager system stable Enable/disable plugin modules and validate the registry.
21 migration_assistant Migration Assistant system stable Upgrade older project/save data to current schemas.
22 bake_manager Bake Manager asset stable Bake/export project resources and data tables.
23 asset_cleaner Asset Cleaner asset stable Find and remove unused or orphaned assets.
24 export_manager Export Manager system stable Configure presets and export the game per platform.

#Genre DNA profiles reference

ID Key Public label Internal status Public status Description
0 universal Universal stable All systems All genre systems visible for custom or hybrid projects.
1 platformer Platformer stable Stable Jump/dash, camera follow, checkpoint and respawn workflows.
2 action_rpg Action RPG stable Stable Crit/parry/status, slow-motion and loot workflows.
3 visual_novel Visual Novel stable Stable CG/affection, dynamic choices, portraits and typewriter text.
4 card_game Card Battler stable Stable Draw/play/shuffle and card battle management.
5 cozy_farm Cozy Farm stable Stable Planting, day-cycle time, and gentle QTE workflows.
6 stealth Stealth Tactics stable Stable Vision cones, alarms, takedowns and squad orders.
7 survival Survival stable Stable Durability, building, hunger and base-building workflows.
8 racing Racing stable Stable Accelerate/brake/steer/drift/nitro and rubber-band AI.
9 horror Horror / Psychological stable Stable Sanity drain, jumpscares, hallucination, tension, safe rooms.
10 party_game Party Game stable Stable Board-path movement, dice rolls, space events, score tracking.
11 board_game Board Game stable Stable Turn-based board movement, tile events, dice and tokens.
12 multiplayer Multiplayer stable Stable Net sync nodes, lobby UI, peer state, host/join workflow.
13 turn_rpg Turn-Based RPG stable Stable Battle HUD, party/turn order, skills, equipment, growth.
14 puzzle Puzzle stable Stable Match-3, Sokoban, hint systems, cascades and grid logic.
15 rhythm Rhythm stable Stable BPM sync, note judgement, combo and grade systems.
16 roguelike Roguelike / Roguelite stable Stable Floor progression, perks, loot rolling, meta-progression.
17 tower_defense Tower Defense stable Stable Wave spawning, economy, tower placement/upgrade/sell.
18 fighting Fighting (2D) stable Stable Frame data, input commands, combos, meter, rounds, hit stop.
19 fighting_3d Fighting (3D Arena) stable Stable 3D arena fighting, ring-out, juggle physics, super armor.
20 sports_soccer Sports (Soccer) stable Stable Ball/team AI, formations, fouls, match timer, sports HUD.
21 sports_basketball Sports (Basketball) stable Stable Shot clock, free throws, 3-point line, fouls, quarters.
22 sports_tennis Sports (Tennis) stable Stable Tennis scoring, sets and serve system.
23 simulation Simulation / Tycoon stable Stable Economy ticks, buildings, staff, happiness, research, events.
24 sandbox Sandbox stable Stable Base-building, open-world tools, crafting, day/night cycle.
25 metroidvania Metroidvania stable Stable Map reveal, ability gating, interconnected rooms, save rooms.
26 shmup Bullet Hell / Shmup stable Stable Bullet pools, radial/aimed/spiral patterns, bombs, boss phases.
27 point_click Point & Click Adventure stable Stable Hotspot interaction, feature list puzzles, dialogue trees.
28 endless_runner Endless Runner stable Stable Chunk spawning, lane switching, speed curves, revives.
29 classic_cards Card Game (Classic) stable Stable 52-card deck, solitaire/poker/rummy/uno rule helpers.
30 hack_slash Hack & Slash stable Stable Combo chains, style ranking, hit-stop, loot, finishers.
31 idle_clicker Idle / Clicker stable Stable Auto-generators, big numbers, prestige, offline progress.
32 auto_battler Auto-Battler / Auto Chess stable Stable Grid placement, auto-combat, economy, shop, synergies.
33 battle_royale Battle Royale stable Stable Shrinking zone, loot, elimination, revives, squad modes.
34 moba MOBA / Arena stable Stable Lane maps, towers, minion waves, hero abilities, item shop.
35 educational Educational / Quiz stable Stable Question banks, scoring, timed rounds, hints, leaderboards.
36 farming_rpg Farming RPG / Life Sim stable Stable Crops/seasons, animals, relationships, fishing, cooking, festivals.
37 fps_shooter FPS / Shooter Foundations foundation Early Access foundation Aiming, weapons, projectiles/hitscan, crosshair and first-person camera foundations. Full FPS workflows may still require custom setup during Early Access.
38 platformer_3d 3D Platformer foundation Early Access foundation 3D jump, checkpoints, collectibles, fall-reset and camera follow foundations.
39 city_builder City Builder / Colony Sim beta Beta Grid building placement, resource and population ticks, upgrades.
40 tactical_rpg Tactical RPG beta Beta Grid movement, turn order, action points, attack range, end turn.
41 action_adventure Action Adventure beta Beta Interact, pickups, door/key unlocks, objectives, zone transitions.
42 creature_collector Creature Collector foundation Early Access foundation Encounters, capture chance, roster, level-up, evolution and bestiary foundations.

#Generated asset types and browser categories

#Canonical 18 generated asset type strings

# Type string
1 map
2 overworld
3 dungeon
4 sprite
5 icon
6 music
7 sfx
8 vfx
9 loot_table
10 database_resource
11 name_table
12 palette
13 shape_3d
14 isometric_scene
15 dialogue_ui
16 formula_preset
17 converted_image
18 converted_audio

#Generated Asset Browser categories

Label Type expression Icon
All "" FileList
Maps DreamGeneratedAsset.TYPE_MAP GridMap
Worlds DreamGeneratedAsset.TYPE_OVERWORLD Image
Dungeons DreamGeneratedAsset.TYPE_DUNGEON GridMap
Sprites DreamGeneratedAsset.TYPE_SPRITE Sprite2D
Icons DreamGeneratedAsset.TYPE_ICON BoxContainer
Music DreamGeneratedAsset.TYPE_MUSIC AudioStreamPlayer
SFX DreamGeneratedAsset.TYPE_SFX AudioStreamPlayer
VFX DreamGeneratedAsset.TYPE_VFX GPUParticles2D
Loot DreamGeneratedAsset.TYPE_LOOT_TABLE BoxContainer
Database DreamGeneratedAsset.TYPE_DATABASE_RESOURCE ResourcePreloader
Names DreamGeneratedAsset.TYPE_NAME_TABLE RichTextLabel
Palettes DreamGeneratedAsset.TYPE_PALETTE ColorRect
3D Shapes DreamGeneratedAsset.TYPE_SHAPE_3D Node3D
Isometric DreamGeneratedAsset.TYPE_ISOMETRIC_SCENE GridMap
UI DreamGeneratedAsset.TYPE_DIALOGUE_UI Control
Formulas DreamGeneratedAsset.TYPE_FORMULA_PRESET ScriptExtend
Conversions DreamGeneratedAsset.TYPE_CONVERTED_IMAGE Reload
Converted Audio DreamGeneratedAsset.TYPE_CONVERTED_AUDIO Reload

#Assignment keys by group

Audio: ui_confirm, ui_cancel, ui_click, ui_error, chest_open, door_open, item_pickup, quest_start, quest_complete, battle_start, battle_victory, battle_defeat, enemy_hit, enemy_death, player_hit, player_death, skill_cast, spell_impact, map_bgm, battle_bgm, region_bgm, weather_ambience

VFX: chest_open, door_open, item_pickup, quest_start, quest_complete, battle_start, battle_victory, battle_defeat, enemy_hit, enemy_death, player_hit, player_death, skill_cast, spell_impact

Icon: item_icon, skill_icon, quest_icon, currency_icon

Sprite/visual: actor_portrait, actor_battle_sprite, actor_overworld_sprite, enemy_portrait, enemy_battle_sprite, dialogue_background, title_background

Database/data: database_reference, loot_table, name_table

Palette: ui_theme_palette

Formula: damage_formula

UI: ui_scene

All valid assignment keys (39): ui_confirm, ui_cancel, ui_click, ui_error, chest_open, door_open, item_pickup, quest_start, quest_complete, battle_start, battle_victory, battle_defeat, enemy_hit, enemy_death, player_hit, player_death, skill_cast, spell_impact, map_bgm, battle_bgm, region_bgm, weather_ambience, item_icon, skill_icon, quest_icon, currency_icon, actor_portrait, actor_battle_sprite, actor_overworld_sprite, enemy_portrait, enemy_battle_sprite, dialogue_background, title_background, loot_table, name_table, ui_theme_palette, damage_formula, database_reference, ui_scene

Public boundary: assignment writes supported fields and metadata for tracing/validation. It must not be documented as guaranteed full runtime binding for every asset type in v0.9.4.

#Scene Composer template counts

Count Meaning
Unique DreamTemplateData templates 154
Internal template data groups 43
Visible Scene Composer category groups 36
Unique visible template names in UI 149
Physical .tscn files in package 36

How to read this: Dreamcatcher v0.9.4 includes 154 unique DreamTemplateData scene templates. Internally these are merged through 43 template data groups. The Scene Composer UI currently exposes 36 visible category groups and 149 unique visible template names. Separately, the package contains 36 physical .tscn files used by scenes, demos, UI, runtime, or editor surfaces.

#Procedural Toolkit tabs

Category Tabs
Generate Maps, Overworld, Sprites, Icons, Sound FX, Music, 3D Shapes, Names, Loot, Palettes, Particles / VFX, Isometric
Convert Image Format, Audio Format, 2D to 3D, 3D to 2D
Design Sketch Enhancer, Dialogue UI, Formula Sandbox

This guide gives one beginner task for every tab: generate one small output, inspect its report/metadata, register it, validate it, and use or discard it safely.

#UI Builder reference

UI Builder exposes 113 components, 20 theme presets, and 13 device preview sizes in the current package.

Theme presets: Default, Fantasy, Sci-Fi, Minimal, Horror, Retro, Cyberpunk, Nature, Royal, Steampunk, Pastel, Ocean, Neon, Autumn, Ice, Noir, Candy, Military, Volcanic, Dreamlike

Device sizes: Desktop (1920x1080), Tablet (1024x768), Phone (720x1280), Widescreen (2560x1440), 4K (3840x2160), Steam Deck (1280x800), Switch (1280x720), Phone Tall (1080x2400), Ultrawide (3440x1440), Square (1080x1080), Pixel Art (320x180), Pixel Art (640x360), GBA (240x160)

Component names: Health Bar, Mana Bar, XP Bar, Label, Rich Text, Button, Checkbox, Slider, Dropdown, Text Input, Dialogue Box, Panel, Color Block, Separator, Minimap, Inventory Grid, Quest Log, Skill Bar, Timer, Score Display, Image, Sprite Frame, Text Area, Spin Number, V-Slider, Tab Bar, V-Layout, Margin Box, Scroll Area, Aspect Box, V-Separator, Nine Patch, Stamina Bar, Shield Bar, Cooldown Radial, Boss HP Bar, Currency Display, Combo Counter, Damage Number, Status Icon, Buff/Debuff Row, Menu List, Tab Container, Menu Button, Back Button, Confirm Dialog, Notification Toast, Tooltip, Item Slot, Equipment Slot, Party Member Card, Stat Row, Level Badge, EXP Ring, Loot Popup, Shop Item Row, Card Display, Speaker Name, Dialogue Text, Choice Button, Portrait Frame, Chat Bubble, Minimap Overlay, Compass, Waypoint Marker, Location Name, Loading Bar, Achievement Popup, Crosshair, FPS Counter, Color Picker, Tree View, Item List, Video Rect, Unit Grid, Synergy Row, Shop Panel, Gold Counter, Round Timer, Bench Slots, Zone Circle, Kill Feed, Alive Counter, Loot Slot, Armor Bar, Ability Bar, KDA Display, Tower Icon, Scoreboard, Lane Map, Radial Menu, Breadcrumb, Toggle Switch, Badge, Avatar Frame, Hotkey Label, Ping Indicator, Virtual Joystick, Touch Button (A), Touch Button (B), Touch D-Pad, Gesture Area, Mobile HUD, Touch Slider, Swipe Hint, Progress Ring, Circular HP, Gradient Rect, Resource Counter, Divider Line, V-Divider, Icon Button, Text Badge

#Resource scripts and database starter list

# File Class Extends
1 dream_actor_data.gd DreamActorData Resource
2 dream_animation_data.gd DreamAnimationData Resource
3 dream_armor.gd DreamArmor Resource
4 dream_board_path.gd DreamBoardPath Resource
5 dream_capture_rule.gd DreamCaptureRule Resource
6 dream_card.gd DreamCard Resource
7 dream_chapter.gd DreamChapter Resource
8 dream_class.gd DreamClass Resource
9 dream_creature_instance.gd DreamCreatureInstance Resource
10 dream_creature_roster.gd DreamCreatureRoster Resource
11 dream_creature_species.gd DreamCreatureSpecies Resource
12 dream_deck.gd DreamDeck Resource
13 dream_dialogue.gd DreamDialogue Resource
14 dream_enemy.gd DreamEnemy Resource
15 dream_environment.gd DreamEnvironment Resource
16 dream_fighter_data.gd DreamFighterData Resource
17 dream_generated_asset.gd DreamGeneratedAsset Resource
18 dream_generated_asset_metadata.gd DreamGeneratedAssetMetadata Resource
19 dream_generated_asset_preview.gd DreamGeneratedAssetPreview Resource
20 dream_generation_preset.gd DreamGenerationPreset Resource
21 dream_generation_report.gd DreamGenerationReport Resource
22 dream_grid.gd DreamGrid Resource
23 dream_horror_config.gd DreamHorrorConfig Resource
24 dream_item.gd DreamItem Resource
25 dream_loot_table.gd DreamLootTable Resource
26 dream_map_event.gd DreamMapEvent Node2D
27 dream_map_event_condition.gd DreamMapEventCondition Resource
28 dream_map_event_page.gd DreamMapEventPage Resource
29 dream_map_region_data.gd DreamMapRegionData Resource
30 dream_perk_data.gd DreamPerkData Resource
31 dream_puzzle.gd DreamPuzzle Resource
32 dream_quest.gd DreamQuest Resource
33 dream_race_config.gd DreamRaceConfig Resource
34 dream_recipe.gd DreamRecipe Resource
35 dream_region_behavior.gd DreamRegionBehavior Resource
36 dream_rhythm_chart.gd DreamRhythmChart Resource
37 dream_runner_config.gd DreamRunnerConfig Resource
38 dream_shop.gd DreamShop Resource
39 dream_skill.gd DreamSkill Resource
40 dream_sport_config.gd DreamSportConfig Resource
41 dream_state.gd DreamState Resource
42 dream_system_config.gd DreamSystemConfig Resource
43 dream_tileset_data.gd DreamTilesetData Resource
44 dream_tower_data.gd DreamTowerData Resource
45 dream_troop.gd DreamTroop Resource
46 dream_wave_data.gd DreamWaveData Resource
47 dream_weapon.gd DreamWeapon Resource

Every public database-cookbook chapter must map to this list. If a resource is too advanced for beginners, label it “advanced / safe to ignore first” rather than omitting it completely.

#Module troubleshooting

Use this section when a Dreamcatcher feature is visible in the documentation but missing or inactive in your project.

SymptomLikely causeSafe fix
Custom node type does not appear in Godot.The owning module may be disabled, the plugin may not be enabled, or the editor needs a restart after registration changes.Enable Dreamcatcher, check Module Manager, restart Godot, then search again.
Tool opens but a feature is disabled.The feature may depend on another module, a project setting, or a required resource path.Read the tool panel message, enable dependencies, and run Validator before editing files.
Runtime service is unavailable.No-autoload mode, disabled module, or plugin startup error.Check the Autoload services section and the Godot Output panel for the first error.

#Custom node types by module

#Module input (4 custom types)

Custom type Base Script path
DreamVirtualJoystick Control runtime/touch/virtual_joystick.gd
DreamTouchButton Control runtime/touch/touch_button.gd
DreamTouchDPad Control runtime/touch/touch_dpad.gd
DreamGestureArea Control runtime/touch/touch_gesture_area.gd

#Module director (1 custom types)

Custom type Base Script path
DreamBehavior Node components/dream_behavior.gd

#Module combat (9 custom types)

Custom type Base Script path
DreamHitbox Area3D runtime/dream_hitbox.gd
DreamHurtbox Area3D runtime/dream_hurtbox.gd
DreamDamageFormula Node runtime/core/dream_damage_formula.gd
DreamHitbox2D Area2D runtime/dream_hitbox_2d.gd
DreamHurtbox2D Area2D runtime/dream_hurtbox_2d.gd
DreamCombatBridge Node runtime/core/dream_combat_bridge.gd
DreamGridCombat Node runtime/core/dream_grid_combat.gd
DreamEntityTypes Node runtime/core/dream_entity_types.gd
DreamDamageNumbers Node runtime/core/dream_damage_numbers.gd

#Module weapon_aim (2 custom types)

Custom type Base Script path
DreamWeaponSystem Node runtime/core/dream_weapon_system.gd
DreamAimSystem Node runtime/core/dream_aim_system.gd

#Module actors (17 custom types)

Custom type Base Script path
DreamActor CharacterBody3D runtime/nodes/dream_actor.gd
DreamTrigger Area3D runtime/nodes/dream_trigger.gd
DreamActor2D CharacterBody2D runtime/dream_actor_2d.gd
DreamTrigger2D Area2D runtime/dream_trigger_2d.gd
DreamInteractable Area3D runtime/dream_interactable.gd
DreamPickup Area3D runtime/dream_pickup.gd
DreamCheckpoint Area3D runtime/dream_checkpoint.gd
DreamPlatform AnimatableBody3D runtime/dream_platform.gd
DreamProjectile CharacterBody3D runtime/dream_projectile.gd
DreamProjectile2D CharacterBody2D runtime/dream_projectile_2d.gd
DreamNavPath Node3D runtime/dream_nav_path.gd
DreamPlatform2D AnimatableBody2D runtime/dream_platform_2d.gd
DreamInteractable2D Area2D runtime/dream_interactable_2d.gd
DreamPickup2D Area2D runtime/dream_pickup_2d.gd
DreamCheckpoint2D Area2D runtime/dream_checkpoint_2d.gd
DreamNavPath2D Path2D runtime/dream_nav_path_2d.gd
DreamVehicleSystem Node runtime/core/dream_vehicle_system.gd

#Module rpg (15 custom types)

Custom type Base Script path
DreamEquipMenu CanvasLayer runtime/ui/equip_menu.gd
DreamEquipmentNode Node runtime/core/dream_equipment.gd
DreamQuestManager Node runtime/core/dream_quest_manager.gd
DreamSkillTree Node runtime/core/dream_skill_tree.gd
DreamCraftingManager Node runtime/core/dream_crafting_manager.gd
DreamNPCSystem Node runtime/core/dream_npc_system.gd
DreamLootManager Node runtime/core/dream_loot_manager.gd
DreamPartyFormation Node runtime/core/dream_party_formation.gd
DreamInventoryManager Node runtime/core/dream_feature list_manager.gd
DreamShopManager Node runtime/core/dream_shop_manager.gd
DreamTutorialSystem Node runtime/core/dream_tutorial_system.gd
DreamCompanionSystem Node runtime/core/dream_companion_system.gd
DreamBattleScene CanvasLayer runtime/ui/dream_battle_scene.gd
DreamEncounterSystem Node runtime/core/dream_encounter_system.gd
DreamCreatureCollection Node runtime/core/dream_creature_collection.gd

#Module dialogue (1 custom types)

Custom type Base Script path
DreamDialogueBox CanvasLayer runtime/ui/dialogue_box.gd

#Module ui (22 custom types)

Custom type Base Script path
DreamSkillBar HBoxContainer runtime/ui/skill_bar.gd
DreamQuestLog PanelContainer runtime/ui/quest_log.gd
DreamCharacterSheet PanelContainer runtime/ui/character_sheet.gd
DreamCraftUI PanelContainer runtime/ui/craft_ui.gd
DreamBattleHUD CanvasLayer runtime/ui/battle_hud.gd
DreamMapUI PanelContainer runtime/ui/map_ui.gd
DreamLoadingScreen CanvasLayer runtime/ui/loading_screen.gd
DreamTitleCardUI CanvasLayer runtime/ui/title_card_ui.gd
DreamTitleScreen Control runtime/ui/title_screen.gd
DreamPauseMenu CanvasLayer runtime/ui/pause_menu.gd
DreamInventoryMenu CanvasLayer runtime/ui/feature list_menu.gd
DreamSaveSlotUI CanvasLayer runtime/ui/save_slot_ui.gd
DreamPauseScreen CanvasLayer runtime/ui/dream_pause_menu.gd
DreamLoadingOverlay Control runtime/ui/dream_loading_screen.gd
DreamGameOver CanvasLayer runtime/ui/dream_game_over.gd
DreamCreditsScreen CanvasLayer runtime/ui/dream_credits_screen.gd
DreamSplashScreen CanvasLayer runtime/ui/dream_splash_screen.gd
DreamNotification CanvasLayer runtime/ui/dream_notification.gd
DreamMinimap Control runtime/ui/dream_minimap.gd
DreamCharacterSelect CanvasLayer runtime/ui/character_select.gd
DreamHealthBar Control runtime/ui/dream_health_bar.gd
DreamMinimapMarkers Node runtime/core/dream_minimap_markers.gd

#Module world (3 custom types)

Custom type Base Script path
DreamCamera3D Camera3D runtime/dream_camera_3d.gd
DreamCamera2D Camera2D runtime/dream_camera_2d.gd
DreamParallax ParallaxBackground runtime/core/dream_parallax.gd

#Module networking (1 custom types)

Custom type Base Script path
DreamLobbyUI CanvasLayer controls/dream_lobby_ui.gd

#Module genre_racing (4 custom types)

Custom type Base Script path
DreamRaceCar VehicleBody3D runtime/dream_race_car.gd
DreamRaceCheckpoint Area3D runtime/dream_race_checkpoint.gd
DreamRaceTrack Node3D runtime/dream_race_track.gd
DreamRaceManager Node runtime/dream_race_manager.gd

#Module genre_fighting (4 custom types)

Custom type Base Script path
DreamFightingManager Node runtime/fighting/fighting_manager.gd
DreamFighterAI Node runtime/fighting/dream_fighter_ai.gd
DreamFighterAI3D Node runtime/fighting/dream_fighter_ai_3d.gd
DreamFightingHUD CanvasLayer runtime/ui/fighting_hud.gd

#Module genre_sports (5 custom types)

Custom type Base Script path
DreamSportsManager Node runtime/sports/sports_manager.gd
DreamSportsHUD CanvasLayer runtime/ui/sports_hud.gd
DreamBall RigidBody3D runtime/sports/dream_ball.gd
DreamBall2D RigidBody2D runtime/sports/dream_ball_2d.gd
DreamTeamAI Node runtime/sports/dream_team_ai.gd

#Module genre_cards (2 custom types)

Custom type Base Script path
DreamCardGameManager Node2D runtime/card/card_game_manager.gd
DreamStandardDeck RefCounted runtime/card/standard_card_deck.gd

#Module genre_td (2 custom types)

Custom type Base Script path
DreamTDOverlay CanvasLayer runtime/ui/td_overlay.gd
DreamTDManager Node runtime/td/tower_defense_manager.gd

#Module genre_roguelike (1 custom types)

Custom type Base Script path
DreamRoguelikeManager Node runtime/roguelike/roguelike_manager.gd

#Module genre_rhythm (2 custom types)

Custom type Base Script path
DreamRhythmHUD CanvasLayer runtime/ui/rhythm_hud.gd
DreamRhythmEngine Node runtime/rhythm/rhythm_engine.gd

#Module genre_shmup (1 custom types)

Custom type Base Script path
DreamShmupManager Node runtime/shmup/shmup_manager.gd

#Module genre_puzzle (2 custom types)

Custom type Base Script path
DreamPuzzleManager Node runtime/puzzle/puzzle_manager.gd
DreamPuzzleGrid Node2D runtime/puzzle/puzzle_grid.gd

#Module genre_runner (1 custom types)

Custom type Base Script path
DreamEndlessRunner Node runtime/runner/endless_runner.gd

#Module genre_simulation (1 custom types)

Custom type Base Script path
DreamSimulationMgr Node runtime/simulation/simulation_manager.gd

#Module genre_vn (2 custom types)

Custom type Base Script path
DreamGalleryViewer CanvasLayer runtime/ui/gallery_viewer.gd
DreamTextBacklog CanvasLayer runtime/ui/text_backlog.gd

#Module genre_hackslash (1 custom types)

Custom type Base Script path
DreamHackSlashMgr Node runtime/hackslash/hack_slash_manager.gd

#Module genre_idle (1 custom types)

Custom type Base Script path
DreamIdleManager Node runtime/idle/idle_game_manager.gd

#Module genre_autobattler (1 custom types)

Custom type Base Script path
DreamAutoBattler Node runtime/autobattler/auto_battler_manager.gd

#Module genre_battleroyale (1 custom types)

Custom type Base Script path
DreamBattleRoyale Node runtime/battleroyale/battle_royale_manager.gd

#Module genre_moba (1 custom types)

Custom type Base Script path
DreamMOBAManager Node runtime/moba/moba_manager.gd

#Module genre_stealth (1 custom types)

Custom type Base Script path
DreamStealthManager Node runtime/stealth/stealth_manager.gd

#Module genre_horror (1 custom types)

Custom type Base Script path
DreamHorrorManager Node runtime/horror/horror_manager.gd

#Module genre_survival (1 custom types)

Custom type Base Script path
DreamSurvivalManager Node runtime/survival/survival_manager.gd

#Module genre_farm (1 custom types)

Custom type Base Script path
DreamFarmManager Node runtime/farm/farm_manager.gd

#Module genre_procedural (1 custom types)

Custom type Base Script path
DreamProceduralGen Node runtime/core/dream_procedural_gen.gd

#Module ai_director (1 custom types)

Custom type Base Script path
DreamAIDirector Node runtime/core/dream_ai_director.gd

Public purpose: users will see many Dream custom nodes in Godot’s Create Node dialog. The guide must group them by use case and tell beginners which ones to use first versus ignore.

#Visual Logic node and template reference

The package contains 291 visual logic node scripts, 185 static DreamLogicLibrary node definitions, and 40 built-in Visual Logic templates in DreamLogicLibrary.

Template key Template name Category
template_patrol_ai 🛡️ Guard Patrol AI 🌟 Auto-Templates (AI)
template_combat_melee ⚔️ Basic Melee Attack 🌟 Auto-Templates (Action)
template_action_combo_melee ⚔️ 3-Hit Melee Combo 🌟 Auto-Templates (Action)
template_action_dash 💨 Evasive Dash / Dodge 🌟 Auto-Templates (Action)
template_standard_merchant 🛍️ Standard Merchant 🌟 Auto-Templates (RPG)
template_rpg_inn_rest 🛏️ Rest at Inn (Full Heal) 🌟 Auto-Templates (RPG)
template_rpg_chest_locked 🔐 Locked Treasure Chest 🌟 Auto-Templates (RPG)
template_surv_hunger_tick 🍗 Hunger Depletion System 🌟 Auto-Templates (Survival)
template_stealth_vision_cone 👁️ Guard Vision Cone Detection 🌟 Auto-Templates (Stealth)
template_puzzle_pressure_plate 🔳 Pressure Plate Door Unlock 🌟 Auto-Templates (Puzzle)
template_card_draw_turn 🃏 Start Turn & Draw Card 🌟 Auto-Templates (Card)
template_deal_starting_hand 🃏 Deal Starting Hand (5 Cards) 🌟 Auto-Templates (Card)
template_roll_and_move 🎲 Turn: Roll & Move 🌟 Auto-Templates (Board)
template_bt_enemy_ai 🌳 Enemy AI (BT: Patrol → Chase → Attack) 🌟 Auto-Templates (AI)
template_fsm_npc 🔄 NPC State Machine (Idle → Talk → Walk) 🌟 Auto-Templates (AI)
template_qte_boss_finisher 🎯 Boss QTE Finisher 🌟 Auto-Templates (Action)
template_farm_plant_crop 🌱 Plant & Grow Crop 🌟 Auto-Templates (Farming)
template_quiz_question 📝 Quiz Question Flow 🌟 Auto-Templates (Educational)
template_platformer_moving_platform 🔲 Moving Platform (Ping-Pong) 🌟 Auto-Templates (Platformer)
template_platformer_double_jump 🦘 Double Jump 🌟 Auto-Templates (Platformer)
template_rhythm_note_hit 🎵 Rhythm Note Hit Detection 🌟 Auto-Templates (Rhythm)
template_td_tower_shoot 🏰 Tower Auto-Attack Loop 🌟 Auto-Templates (Tower Defense)
template_idle_auto_earn 💰 Idle Auto-Earn Loop 🌟 Auto-Templates (Idle/Clicker)
template_gm_scene_setup 🎬 Scene Init + HUD Setup 🎮 Game Manager (Templates)
template_gm_death_respawn 💀 Death → Respawn / Game Over 🎮 Game Manager (Templates)
template_gm_level_complete 🎉 Level Complete → Next 🎮 Game Manager (Templates)
template_gm_score_attack 🏆 Score Attack Game Loop 🎮 Game Manager (Templates)
template_gm_enemy_kill_score ⚔️ Kill Enemy → Score + Check Win 🎮 Game Manager (Templates)
template_ca_rpg_damage_states 🎭 RPG Character Damage States 🎭 Conditional Assets (Templates)
template_ca_context_music 🎭 Contextual BGM (Switch-Based) 🎭 Conditional Assets (Templates)
template_anim_auto_setup_2d 🎞️ Auto-Setup 2D Character Anims 🎞️ Animation Library (Templates)
template_anim_3d_model_setup 🎞️ Auto-Map 3D Model Animations 🎞️ Animation Library (Templates)
template_sheet_create_and_setup 🖼️ Create Sheet → Auto SpriteFrames 🖼️ Spritesheet Ops (Templates)
template_sheet_extract_repack 🖼️ Extract Frames from Sheet 🖼️ Spritesheet Ops (Templates)
template_vn_scene_setup 🎭 VN Scene Setup (Background + Characters) 🎭 Visual Novel (Templates)
template_vn_dialogue_scene 🎭 VN Dialogue Scene (Talk + Expression + Transition) 🎭 Visual Novel (Templates)
template_vn_timed_choice 🎭 VN Timed Choice Branch 🎭 Visual Novel (Templates)
template_hybrid_vn_to_combat 🔗 VN Dialogue → Combat → Result Branch 🔗 Hybrid Bridge (Templates)
template_hybrid_puzzle_gate 🔗 Puzzle Gate → Unlock Path 🔗 Hybrid Bridge (Templates)
template_hybrid_genre_query 🔗 Query Game State → Branch 🔗 Hybrid Bridge (Templates)

The guide can teach these templates as learning shortcuts. Templates are starting points, not finished games.

#Narrative Weaver node reference

Narrative Weaver presents 59 node types in 10 categories. The menu-visible node labels are:

Node ID Label
0 Dialogue: Speak
1 Player Choice
2 Wait Seconds
3 Compare Values
4 Modify Health
5 Apply Force
6 Inner Thought
7 Description
8 Random Branch
9 Conditional Branch
10 Set Variable
11 Set Switch
12 Check Switch
13 Random Number
14 Add Item
15 Remove Item
16 Change Gold
17 Play Sound
18 Play Music
19 Shake Screen
20 Fade Screen
21 Teleport Actor
22 Show Animation
23 Change Scene
24 Start Quest
25 Complete Step
26 Check Progress
27 Open Shop
28 Open Menu
29 Show Character
30 Hide Character
31 Move Position
32 Set Expression
33 Flip Character
34 Camera Pan
35 Camera Zoom
36 Tint Screen
37 Flash Screen
38 Show Picture
39 Hide Picture
40 Stop Music
41 Stop All Sounds
42 Set Volume
43 Play Voice Line
44 Add Member
45 Remove Member
46 Change Affinity
47 Check Relationship
48 Label / Bookmark
49 Jump to Label
50 Comment
51 Chapter Jump
52 End Conversation
53 Save Game
54 Load Game
55 Set Timer
56 Game Over
57 Unlock Achievement
58 Check Item Count

These nodes are grouped into narrative, flow, gameplay actions, audio, character, camera/screen, quest/menu/scene, party/relationship, and game-state groups.

#Map Editor layers, tools, events, and regions

#Default map layers reference

Layer Use it for Z index Y-sort
Ground Base grass/dirt/stone/floor/water base 0 No
Terrain Terrain transitions/paths/cliffs/special floor surfaces 1 No
Walls Blocking walls/vertical surfaces/building bodies 2 No
Objects Interactive/decorative objects that may overlap player 3 Yes
Furniture Tables/chairs/interior objects 4 Yes
Decorations Plants/signs/props/small scenery 5 Yes
Roofs Roof overlays/upper structures 6 No
Shadows Decorative shadow overlays 7 No

#Runtime helper nodes

Helper node Kind Z index
Lighting_Node2D lighting 80
Events_Node2D events 90
Regions_Node2D regions 100
CollisionHelpers_Node2D collision 110
NavigationHelpers_Node2D navigation 120

#Tile palette categories

All, Ground, Walls, Floors, Roofs, Water, Decorations, Furniture, Vegetation, Rocks, Interactive, Doors, Chests, NPCs, Triggers, Hazards, Ladders, Bridges, Lights, Particles, Overlays

#Region paint tools

PENCIL, RECTANGLE, BUCKET, ERASER, PICKER, LINE, ELLIPSE, SCATTER

#Map paint modes

TILE_PAINT, COLLISION_PAINT, REGION_PAINT, EVENT_PAINT, SPAWN_PAINT, ENCOUNTER_PAINT, MUSIC_ZONE_PAINT, WEATHER_ZONE_PAINT, NAVIGATION_PAINT

#Map event templates

door, chest, npc, sign, save_point, shopkeeper, quest_giver, enemy_encounter, pickup, cutscene_trigger, damage_tile, healing_tile, teleport, region_trigger, music_zone, weather_zone

#Map event triggers

action_button, player_touch, event_touch, autorun, parallel, region_enter, region_leave, on_map_load, on_quest_state_changed

#Map event conditions

always, switch, self_switch, variable, item, quest, actor_in_party, enemy_defeated, region, visual_logic

#Map event command profiles to document

dialogue, show_choice, set_switch, set_variable, add_item, remove_item, change_gold, teleport, change_scene, play_se, play_bgm, stop_bgm, fade_screen, shake_screen, force_battle, change_quest, open_shop, save_game, open_menu, set_weather, show_animation, change_hp, wait, branch

#Region behavior types

biome, encounter, music_zone, weather_zone, quest_zone, cutscene_trigger, safe_zone, danger_zone, fast_travel, spawn, collision, navigation, custom

This guide includes button-level tutorials for: active layer selection, map mode selection, paint tool selection, tile picking, tile erasing, event placement, page editing, condition setup, self-switch setup, region painting, map validation, and Quick Play.

#Tileset import profiles and asset rights

Profile ID Public explanation
classic48_a1_water Classic 48×48 layout compatibility profile; users must provide licensed artwork
classic48_a2_ground Classic 48×48 layout compatibility profile; users must provide licensed artwork
classic48_a3_buildings Classic 48×48 layout compatibility profile; users must provide licensed artwork
classic48_a4_walls_roofs Classic 48×48 layout compatibility profile; users must provide licensed artwork
classic48_a5_standard Classic 48×48 layout compatibility profile; users must provide licensed artwork
classic48_be_overlay Classic 48×48 layout compatibility profile; users must provide licensed artwork
godot_image Godot-native/custom layout profile

Do not brand the public feature around third-party product names. Use Dreamcatcher-owned wording: Classic 48×48 layout profiles, compatible tilesheet import, Godot-native TileSet workflow, and asset-rights guidance.

#Included documents and translation files

#Markdown / package docs

  • BRAND_NOTICE.md
  • CHANGELOG.md
  • COMPATIBILITY.md
  • EXTENSIBILITY.md
  • GUARANTEES.md
  • README.md
  • RELEASE_NOTES_v0.9.0.md
  • RELEASE_NOTES_v0.9.1.md
  • RELEASE_NOTES_v0.9.2.md
  • RELEASE_NOTES_v0.9.3.md
  • RELEASE_NOTES_v0.9.4.md
  • THIRD_PARTY_NOTICES.md
  • assets/README.md

#Translation resources

  • i18n/dreamcatcher_strings.ar.translation
  • i18n/dreamcatcher_strings.de.translation
  • i18n/dreamcatcher_strings.en.translation
  • i18n/dreamcatcher_strings.es.translation
  • i18n/dreamcatcher_strings.fr.translation
  • i18n/dreamcatcher_strings.it.translation
  • i18n/dreamcatcher_strings.ja.translation
  • i18n/dreamcatcher_strings.ko.translation
  • i18n/dreamcatcher_strings.pt.translation
  • i18n/dreamcatcher_strings.ru.translation
  • i18n/dreamcatcher_strings.zh.translation
  • i18n/dreamcatcher_strings.csv (source CSV)

#Which included document should you open?

Most users should start with this user guide. Open the package documents only when you need a specific type of reference.

NeedOpenWhy
General setup and first projectThis user guide and README.mdStart here before reading advanced files.
What changed between releasesCHANGELOG.md, RELEASE_NOTES_v0.9.4.mdUseful after updating the plugin.
Brand, asset rights, or third-party noticesBRAND_NOTICE.md, THIRD_PARTY_NOTICES.md, assets/README.mdUse these before releasing or redistributing projects/assets.
Advanced extension workEXTENSIBILITY.md, COMPATIBILITY.md, GUARANTEES.mdUseful for advanced users who modify or integrate the plugin deeply.
Localized UI stringsi18n/*.translation and i18n/dreamcatcher_strings.csvUse these when reviewing or extending translations.

#Godot basics for new users

This short bridge chapter helps new users understand Godot basics before advanced Dreamcatcher workflows.

Godot concept Dreamcatcher use Beginner warning
Node Player, NPC, enemy, UI component, trigger, manager Nodes live in a scene tree; selecting the wrong node changes the wrong object.
Scene .tscn Map, menu, actor, battle scene, UI scene A scene is reusable; saving generated/editable scenes in project folders matters.
Resource .tres / .res Item, enemy, quest, dialogue, generated asset record Resources store data; they are not always visible objects.
.dcs Dreamcatcher visual-logic graph/sequence file Save reusable logic under res://dream/logic/, not in addons/.
Signal Starts events/graphs from interactions, collisions, buttons, regions trigger_signal must match a real signal.
Exported property Inspector-editable field such as logic_script or trigger_signal Check Inspector values before assuming a tool failed.
Input Map Movement/interact/attack/confirm/cancel actions Action names must match exactly.
Autoload Runtime service such as DreamCore or DreamDirector New users usually do not edit autoload scripts.
TileMapLayer Visual map layer Paint on the correct layer and mode.
res:// Project filesystem root User content belongs in project folders such as res://dream/....

#Editor troubleshooting checks

Use these checks when something does not appear, does not run, or behaves differently from the tutorial. Start with the smallest scene that reproduces the problem, read the Godot Output panel, then run the relevant Dreamcatcher validator.

#Focused troubleshooting tables

Problem areaCommon symptomLikely causeSafe fix
Runtime serviceFeature works in editor but not during play.Missing autoload, disabled module, missing trigger, or conflicting project manager.Check plugin/module status, Project Settings → Autoload, Output panel, and the smallest test scene.
Module/custom nodeNode type or dock is missing.Module disabled, plugin not enabled, editor needs restart.Enable Dreamcatcher/module, restart Godot, then search the node again.
Resource/databaseScene references missing actor/item/quest/dialogue data.Resource moved, renamed, deleted, or not assigned.Reassign the resource in Inspector or restore it from project history/backups.
Visual LogicGraph exists but nothing happens.No real trigger, wrong signal, condition fails, graph not attached.Attach the graph to a node/event, test the trigger, and add visible feedback.
Generated assetsAsset appears in browser but not in scene/game.Generated file exists but assignment/binding is incomplete.Use Assign/Apply where supported, inspect metadata, then test the actual scene reference.
UI bindingHUD label/bar does not update.Wrong binding, missing runtime state, or UI scene not loaded.Test one label/bar first, confirm the data source, then run Quick Play.
Export/preflightExported build misses files or fails to launch.Godot export templates, platform SDK, file inclusion, or unsupported platform setting.Run Export Preflight, then use Godot export tools and platform requirements.

#Plugin enable/disable and registry checks

  1. Create a clean Godot 4.7 stable project, or use Godot 4.6.3 for an existing 4.6.x project.
  2. Copy addons/dreamcatcher/ into the project.
  3. Enable Dreamcatcher in Project Settings → Plugins.
  4. Confirm no parse errors on load.
  5. Confirm plugin version badge/metadata shows v0.9.4.
  6. Confirm Godot version gate accepts 4.6.x.
  7. Confirm all expected docks/tools appear once; no duplicate docks after restart.
  8. Disable plugin; confirm docks/custom types/autoloads are removed cleanly.
  9. Re-enable plugin; confirm no duplicate registrations.
  10. Test dreamcatcher/advanced/no_autoload_mode; confirm custom types/tools still behave as documented and autoload assumptions are not assumed beyond the documented scope.

#First playable checks

  1. Choose Universal or Platformer DNA.
  2. Create/open one starter scene.
  3. Add one player or test actor.
  4. Add one interaction using Visual Logic or a map event.
  5. Save a .dcs graph under res://dream/logic/.
  6. Attach it with DreamBehavior.logic_script.
  7. Test run_on_ready=false plus a real trigger_signal.
  8. Run Content Validator.
  9. Run Quick Play.
  10. Confirm both success and failure paths are visible.

#Map checks

  1. Create a new map.
  2. Confirm default TileMapLayer stack appears: Ground, Terrain, Walls, Objects, Furniture, Decorations, Roofs, Shadows.
  3. Assign/import a TileSet.
  4. Paint on two visual layers.
  5. Use picker, eraser, rectangle, bucket, line, ellipse, and scatter without corrupting other modes.
  6. Place door, chest, NPC, pickup, save point, shopkeeper, quest giver, enemy encounter, cutscene trigger, teleport, music zone, and weather zone test events.
  7. Test event pages, conditions, triggers, self-switches, and commands.
  8. Paint encounter/music/weather/safe/danger/navigation regions.
  9. Confirm DreamRegionQuery behavior where runtime region behavior is expected.
  10. Validate map and Quick Play from expected spawn.

#Generated asset checks

  1. Generate one output from every Procedural Toolkit tab.
  2. Confirm outputs save under project-owned res://dream/... paths.
  3. Open Generated Asset Browser.
  4. Confirm asset type, preview, report, metadata, dependencies, and output path are visible.
  5. Validate each generated asset.
  6. Test assignment/apply for supported icon/sprite/audio/VFX/database/palette/formula/UI keys.
  7. Confirm unsupported assignments are disabled or clearly explained.
  8. Regenerate a supported map/dungeon/overworld preset and compare output.
  9. Delete a test asset through safe review; confirm registry/file behavior is documented accurately.

#Export preflight checks

  1. Run Content Validator.
  2. Run generated asset validation.
  3. Run Asset Cleaner in review mode.
  4. Run Bake Manager if data is used.
  5. Run Export Manager / Export Preflight.
  6. Confirm missing Godot export templates/SDK/platform settings are reported without claiming Dreamcatcher replaces them.
  7. Create one local desktop test export with official Godot templates.
  8. Launch exported build.

#Generated asset usage guide

This cookbook completes the documented connection between the 18 generated asset types and the 39 supported assignment keys. In v0.9.4, assignment means supported fields and metadata can be written or traced; it is not a promise that every asset type becomes fully runtime-bound in every possible project without testing.

#Generated asset type workflows

Asset typeFirst safe workflowLikely keys or contextsValidation step
mapGenerate small map → inspect layers → assign player spawn → validate map.map_bgmInspect → assign supported key/field → validate → Quick Play.
overworldGenerate overworld → choose safe start area → add travel/region rule → validate.actor_overworld_spriteInspect → assign supported key/field → validate → Quick Play.
dungeonGenerate dungeon → verify rooms/corridors/collision → add one encounter/reward.Context-specific assignment / metadata traceInspect → assign supported key/field → validate → Quick Play.
spriteGenerate/import sprite → assign to actor/enemy/event → Quick Play visibility.actor_battle_sprite, actor_overworld_sprite, enemy_battle_spriteInspect → assign supported key/field → validate → Quick Play.
iconGenerate icon → assign to item/skill/quest/currency key → UI preview.item_icon, skill_icon, quest_icon, currency_iconInspect → assign supported key/field → validate → Quick Play.
musicPreview loop → assign map_bgm/battle_bgm/region_bgm → test transitions.map_bgm, battle_bgm, region_bgmInspect → assign supported key/field → validate → Quick Play.
sfxPreview impact/click/etc. → assign key → play from graph/UI/event.ui_confirm, ui_cancel, ui_click, ui_error, chest_open, door_open, item_pickup, quest_start, quest_complete, battle_start, battle_victory, battle_defeat, enemy_hit, enemy_death, player_hit, player_death, skill_castInspect → assign supported key/field → validate → Quick Play.
vfxPreview one-shot → spawn at target → cleanup and performance check.spell_impactInspect → assign supported key/field → validate → Quick Play.
loot_tableGenerate loot table → assign enemy/chest → validate reward output.loot_tableInspect → assign supported key/field → validate → Quick Play.
database_resourceGenerate data → inspect fields → connect to Database/scene.database_referenceInspect → assign supported key/field → validate → Quick Play.
name_tableGenerate names → assign NPC/creature/loot context → validate trace.name_tableInspect → assign supported key/field → validate → Quick Play.
paletteGenerate palette → assign UI theme/sprite style → check contrast.ui_theme_paletteInspect → assign supported key/field → validate → Quick Play.
shape_3dGenerate 3D shape → place in scene → collision/performance check.Context-specific assignment / metadata traceInspect → assign supported key/field → validate → Quick Play.
isometric_sceneGenerate isometric scene → inspect camera/tile layout → validate.Context-specific assignment / metadata traceInspect → assign supported key/field → validate → Quick Play.
dialogue_uiGenerate UI → bind dialogue/choice actions → test confirm/cancel.ui_sceneInspect → assign supported key/field → validate → Quick Play.
formula_presetGenerate formula → assign damage_formula or economy field → test values.damage_formulaInspect → assign supported key/field → validate → Quick Play.
converted_imageConvert image → check import settings/rights/path → assign where supported.Context-specific assignment / metadata traceInspect → assign supported key/field → validate → Quick Play.
converted_audioConvert audio → preview → assign SFX/BGM/ambience key.Context-specific assignment / metadata traceInspect → assign supported key/field → validate → Quick Play.

#Assignment-key groups

GroupKeysSafe expectation
UI soundsui_confirm, ui_cancel, ui_click, ui_errorAssign only where supported; validator should catch missing references or unsupported use.
Interaction soundschest_open, door_open, item_pickupAssign only where supported; validator should catch missing references or unsupported use.
Quest/battle soundsquest_start, quest_complete, battle_start, battle_victory, battle_defeatAssign only where supported; validator should catch missing references or unsupported use.
Combat feedbackenemy_hit, enemy_death, player_hit, player_death, skill_cast, spell_impactAssign only where supported; validator should catch missing references or unsupported use.
Music and ambiencemap_bgm, battle_bgm, region_bgm, weather_ambienceAssign only where supported; validator should catch missing references or unsupported use.
Iconsitem_icon, skill_icon, quest_icon, currency_iconAssign only where supported; validator should catch missing references or unsupported use.
Actors/enemies/portraitsactor_portrait, actor_battle_sprite, actor_overworld_sprite, enemy_portrait, enemy_battle_spriteAssign only where supported; validator should catch missing references or unsupported use.
Backgrounds and UIdialogue_background, title_background, ui_theme_palette, ui_sceneAssign only where supported; validator should catch missing references or unsupported use.
Data/formulaloot_table, name_table, damage_formula, database_referenceAssign only where supported; validator should catch missing references or unsupported use.

#Genre starter workflows by DNA profile

Dreamcatcher v0.9.4 includes 43 DNA labels including Universal. Each card below defines the smallest useful first playable goal for that DNA. These workflows are intentionally small: the first goal is to prove the genre loop before adding polish, generated assets, cinematics, export, or advanced systems.

#DNA profileFirst playable goalRecommended first toolsValidation boundary
0UniversalCreate one room, one actor, one interaction, one feedback message.Almanac, Scene Composer, Database, Visual Logic, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
1PlatformerPlayer runs, jumps, collects one item, reaches one exit.Scene Composer, Input Map, Map Editor, Visual Logic, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
2Action RPGTalk to NPC, accept quest, defeat one enemy, get reward, unlock door.Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
3Visual NovelTitle screen, one character scene, one choice, one branching consequence.Narrative Weaver, Visual Logic, UI Builder, Database, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
4Card BattlerBuild a small deck, play one card, resolve damage/status, win one encounter.Database, UI Builder, Visual Logic, Gameplay Director, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
5Cozy FarmPlant, water, wait/grow, harvest, sell or store item.Scene Composer, Database, Map Editor, Generated Asset Browser, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
6Stealth TacticsGuard patrols, detection cone works, player hides, objective completes unseen.Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
7SurvivalGather item, craft tool, manage one danger/resource, save state.Scene Composer, Database, Map Editor, Generated Asset Browser, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
8RacingStart race, complete lap/checkpoint, show timer/result screen.Scene Composer, Input Map, Database, UI Builder, Performance PanelValidate one first playable loop; avoid claiming final production coverage for the whole genre.
9Horror / PsychologicalExplore room, trigger atmosphere, find clue, survive one scare/escape beat.Almanac, Scene Composer, Database, Visual Logic, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
10Party GameOne local minigame round, score update, result screen.Database, UI Builder, Visual Logic, Gameplay Director, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
11Board GameBoard path, turn, dice/card action, score/state update.Database, UI Builder, Visual Logic, Gameplay Director, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
12MultiplayerLobby/mock players, synchronized test event, safe networking caveats.Module Manager, Scene Composer, Database, UI Builder, Export ManagerValidate one first playable loop; avoid claiming final production coverage for the whole genre.
13Turn-Based RPGParty vs troop, select command, resolve turn, victory reward.Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
14PuzzleIntroduce rule, solve one room, unlock exit.Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
15RhythmTrack note timing, hit/miss feedback, result score.Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
16Roguelike / RogueliteGenerated room, enemy, loot, death/reward loop.Almanac, Scene Composer, Database, Visual Logic, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
17Tower DefensePlace tower, spawn wave, damage enemy, wave result.Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
18Fighting (2D)Character select, stage, light attack, hit reaction, round result.Scene Composer, Input Map, Database, UI Builder, Performance PanelValidate one first playable loop; avoid claiming final production coverage for the whole genre.
19Fighting (3D Arena)3D arena, lock-on/movement, attack, health result.Scene Composer, Input Map, Database, UI Builder, Performance PanelValidate one first playable loop; avoid claiming final production coverage for the whole genre.
20Sports (Soccer)Field, player/team object, ball interaction, goal/score.Scene Composer, Input Map, Database, UI Builder, Performance PanelValidate one first playable loop; avoid claiming final production coverage for the whole genre.
21Sports (Basketball)Court, ball possession, shot attempt, score/result.Scene Composer, Input Map, Database, UI Builder, Performance PanelValidate one first playable loop; avoid claiming final production coverage for the whole genre.
22Sports (Tennis)Court, serve/return, rally, point result.Scene Composer, Input Map, Database, UI Builder, Performance PanelValidate one first playable loop; avoid claiming final production coverage for the whole genre.
23Simulation / TycoonPlace object, produce resource, spend/upgrade, show income.Scene Composer, Database, Map Editor, Generated Asset Browser, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
24SandboxSpawn/modify object, save change, validate performance.Scene Composer, Database, Map Editor, Generated Asset Browser, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
25MetroidvaniaRoom, movement ability, locked path, ability gate.Scene Composer, Input Map, Map Editor, Visual Logic, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
26Bullet Hell / ShmupPlayer ship, bullet pattern, enemy wave, score/result.Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
27Point & Click AdventureClickable hotspot, dialogue/clue, feature list item, locked object solved.Narrative Weaver, Visual Logic, UI Builder, Database, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
28Endless RunnerAuto movement, obstacle, pickup, distance/score.Scene Composer, Input Map, Map Editor, Visual Logic, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
29Card Game (Classic)Table layout, draw/play action, win/lose condition.Database, UI Builder, Visual Logic, Gameplay Director, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
30Hack & SlashEnemy group, combo attack, hit feedback, loot/reward.Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
31Idle / ClickerClick/auto income, upgrade, progress/save.Almanac, Scene Composer, Database, Visual Logic, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
32Auto-Battler / Auto ChessShop/buy unit, place unit, auto resolve, reward.Database, UI Builder, Visual Logic, Gameplay Director, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
33Battle RoyaleDrop/spawn zone, shrinking area mock, loot, survival result.Module Manager, Scene Composer, Database, UI Builder, Export ManagerValidate one first playable loop; avoid claiming final production coverage for the whole genre.
34MOBA / ArenaHero, lane/minion objective, ability cast, base/score change.Module Manager, Scene Composer, Database, UI Builder, Export ManagerValidate one first playable loop; avoid claiming final production coverage for the whole genre.
35Educational / QuizQuestion, answer, feedback, score/progress.Almanac, Scene Composer, Database, Visual Logic, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
36Farming RPG / Life SimTalk, farm task, calendar/time state, relationship/reward.Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
37FPS / Shooter FoundationsFirst-person prototype, target, hit feedback, reload/ammo caveat.Almanac, Scene Composer, Database, Visual Logic, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
383D Platformer3D movement, jump, camera, collectible, goal.Scene Composer, Input Map, Map Editor, Visual Logic, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
39City Builder / Colony SimPlace building, resource tick, population/need feedback.Scene Composer, Database, Map Editor, Generated Asset Browser, Content ValidatorValidate one first playable loop; avoid claiming final production coverage for the whole genre.
40Tactical RPGGrid unit, move, attack, turn end, objective.Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
41Action AdventureExplore area, interact, combat/puzzle, reward, transition.Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.
42Creature CollectorEncounter creature, capture rule, roster update, battle/reward.Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI BuilderValidate one first playable loop; avoid claiming final production coverage for the whole genre.

#Tool workflows

All 24 featured tools are documented by name elsewhere in the guide. This table defines the minimum complete workflow coverage for each tool so users know what it is for, when to use it, what it creates or changes, how it connects, and how to validate it.

ToolRequired beginner-safe walkthroughConnects todocumented scope acceptance check
AlmanacDaily workflow hub: choose DNA, inspect modules/resources, open the next tool, follow docs links, verify status.Genre DNA, Module Manager, Database, Scene ComposerValidate output, Quick Play one example, and record the first failure/fix.
Visual LogicFull graph lifecycle: choose trigger, build conditions/actions, attach graph, run, debug, validate, reuse templates.DreamBehavior, Map Events, Narrative Weaver, UI BuilderValidate output, Quick Play one example, and record the first failure/fix.
Scene ComposerTemplate → duplicate → rename → customize → wire data/logic → validate → Quick Play.Database, Visual Logic, Map Editor, UI BuilderValidate output, Quick Play one example, and record the first failure/fix.
UI BuilderHUD/menu binding: HP, quest objective, pickup feedback, responsive previews, UI sounds, validation.Visual Logic, Sound Studio, Database, Content ValidatorValidate output, Quick Play one example, and record the first failure/fix.
Narrative WeaverDialogue choice → variables/switches/quests/rewards/cutscene/tool bridge examples.Visual Logic, Quest resources, Cinematic Editor, UI BuilderValidate output, Quick Play one example, and record the first failure/fix.
Map EditorLevel-design workflow: layers, collision, navigation, regions, events, spawns, music, weather, validation.TileMapLayer, Regions, Events, Music/Weather, NavigationValidate output, Quick Play one example, and record the first failure/fix.
Animation StudioGameplay-state animation: idle/walk/attack/hurt/death + AI/cinematic triggers.Player/enemy scenes, Visual Logic, AI/FSM, Cinematic EditorValidate output, Quick Play one example, and record the first failure/fix.
Sound StudioSFX/music/ambience: create, preview, assign, play, fade, debug.Generated Asset Browser, Visual Logic, Map Regions, UI BuilderValidate output, Quick Play one example, and record the first failure/fix.
Cinematic EditorCutscene lifecycle: trigger, lock control, camera, dialogue, audio, VFX, state, return control.Map regions, Narrative Weaver, Animation, Sound/VFX, stateValidate output, Quick Play one example, and record the first failure/fix.
Sketch EnhancerSketch → cleaned asset → sprite/icon/UI/background → assign → validate.Asset Pipeline, Generated Asset Browser, Scene Composer, UI BuilderValidate output, Quick Play one example, and record the first failure/fix.
Gameplay DirectorPacing/encounter/difficulty beat plan → implement with maps, events, AI, audio, and validation.Map Editor, Enemy AI, Audio/VFX, ValidatorValidate output, Quick Play one example, and record the first failure/fix.
Ideation BoardIdea → vertical-slice checklist → tool selection → tasks → validation gates.Almanac, Tool workflow table, Scenario routes, ValidatorValidate output, Quick Play one example, and record the first failure/fix.
Procedural ToolkitOne workflow per generated type and converter/design tab with assignment and cleanup.Generated Asset Browser, Asset Pipeline, Database, Map EditorValidate output, Quick Play one example, and record the first failure/fix.
Generated Asset BrowserInspect, assign, trace, fix missing references for every supported type/key.Procedural Toolkit, Sound/VFX/UI/Database, ValidatorValidate output, Quick Play one example, and record the first failure/fix.
AI Dream AdvisorAsk → verify against docs/validator → apply safely → never trust blindly.Docs, Validator, Ideation Board, user reviewValidate output, Quick Play one example, and record the first failure/fix.
DatabaseCookbook for actor/enemy/item/skill/quest/shop/loot/troop/dialogue resources.Actors, enemies, items, quests, shops, loot, UI/combatValidate output, Quick Play one example, and record the first failure/fix.
Content ValidatorWarning catalog with examples, severity, fixes, pass criteria, and evidence notes.All generated/project content, maps, resources, export preflightValidate output, Quick Play one example, and record the first failure/fix.
Asset PipelineImport/convert/naming/folder safety, external asset rights, assignment into scenes/resources.External assets, converters, Generated Asset Browser, rights guidanceValidate output, Quick Play one example, and record the first failure/fix.
Performance PanelSlow scene triage: particles, audio, UI, AI, maps, generated assets; optimize and re-test.Maps, VFX, UI, AI, generated assets, export checksValidate output, Quick Play one example, and record the first failure/fix.
Module ManagerEnable/disable, read dependencies, recover failures, keep safe defaults.Autoloads, modules, custom types, feature visibilityValidate output, Quick Play one example, and record the first failure/fix.
Migration AssistantBackup → migrate → compare → validate → rollback if needed.Backups, version changes, validation, rollbackValidate output, Quick Play one example, and record the first failure/fix.
Bake ManagerWhat to bake, when not to bake, test baked output, exit ladder.Generated/static data, performance, export readinessValidate output, Quick Play one example, and record the first failure/fix.
Asset CleanerFind unused/duplicate/generated assets safely; never delete owned project assets blindly.Generated assets, unused files, safe reviewValidate output, Quick Play one example, and record the first failure/fix.
Export ManagerGodot templates/platform requirements, export preflight, asset inclusion, known limitations.Validator, Godot export templates, package assets, platform limitsValidate output, Quick Play one example, and record the first failure/fix.

#Scene templates

This reference section makes the guide coverage clear for the Scene Composer registry. The package exposes 154 scene-template names across 36 template categories. Template names are registry entries and learning/building shortcuts; they do not necessarily mean there are 154 separate physical .tscn files.

CategoryCountTemplate names
Basic4Empty Room, 2D Level, UI Screen, Cutscene
3D Environments8Forest, Dungeon, Town, Boss Arena, Interior Room, Shop Interior, Tavern, Throne Room
Outdoor7Beach, Mountain, Desert, Swamp, Village, Graveyard, Sky Island
Special9Battle Arena, Puzzle Room, Space Station, Underwater, Cave, Photo Mode, Isometric Level, Cinematic Intro, Lockpicking Minigame
2D Levels42D Platformer, 2D Top-Down, 2D Shooter, 2D Puzzle
UI / Menus3Title Screen, Game Over, Credits
Extra UI21Pause Menu, Settings Menu, Save Load Screen, Inventory Screen, Loading Screen, Splash Screen, HUD Overlay, Quest Log, Crafting UI, World Map, Character Sheet, Skill Tree, Shop UI, Dialogue Scene, Bestiary, Character Creation, Leaderboard, Gacha Screen, Trading Screen, Achievement Popup, Notification System
Fighting42D Fighting Stage, 3D Arena Fighter, Character Select, Training Room
Sports7Soccer Field, Basketball Court, Tennis Court, Sports Stadium, 2D Sports Field, Sports Results, Sports Halftime
Rhythm3Rhythm Highway, Concert Stage, Rhythm Results
Tower Defense3TD Map, TD Map 3D, TD Results
Roguelike6Roguelike Dungeon, Roguelike Dungeon 3D, Roguelike Hub, Run Map, Roguelike Death, Roguelike Reward
Simulation2Tycoon Grid, City Builder
Adventure3Adventure Room, Adventure Room 3D, Courtroom
Shmup3Shmup Vertical, Shmup Horizontal, Shmup 3D
Runner2Endless Runner 2D, Endless Runner 3D
Card Games4Card Table 2D, Card Table 3D, Solitaire Board, Card Battle Arena
Hack & Slash3Hack & Slash 2D, Hack & Slash 3D, Hack & Slash Arena
Idle / Clicker3Idle Clicker 2D, Idle Clicker 3D, Idle Dashboard
Survival2Survival Camp, Survival Island 2D
Horror2Haunted House, Horror Forest 2D
Stealth3Stealth Mission, Stealth Mission 2D, Stealth Hub
Metroidvania1Metroidvania Map
Cozy Farm2Farm Plot, Farm World 3D
Party / Board2Party Board, Board Game Table
Multiplayer1Multiplayer Lobby
Sandbox2Sandbox World, Sandbox 2D
Auto-Battler3Auto-Battler Grid, Auto-Battler 3D, Auto-Battler Shop
Battle Royale3Battle Royale Island, Battle Royale 2D, Battle Royale Lobby
MOBA3MOBA Map 3D, MOBA Map 2D, MOBA Hero Select
Mobile / Touch2Mobile HUD, Touch Menu
Educational / Quiz4Quiz Show, Classroom 3D, Flashcard Deck, Trivia Board
Farming RPG8Farming RPG Overworld, Farming RPG 3D, Farm House Interior, Mine Dungeon, Town Square, Fishing Spot, Farm Calendar, Farm Shipping
Racing4Race Track, Race Track 2D, Racing Garage, Racing Results
Visual Novel2Visual Novel, VN Gallery
Showcase (Phase 12)11Tactical Grid Battle, Tactical Grid Battle 2D, Tutorial Island, Tutorial Island 2D, Crafting Workshop, Quest Hub, Companion Ranch, Vehicle Course, Boss Rush, RPG Complete, RPG Complete 2D

#Template → first test workflows

Use these workflows to turn any template category into a safe first test before customizing heavily.

Template groupFirst testWhy
Any templateDuplicate → rename → save under project folder → Quick Play → validate → customize one visible thing.Prevents breaking a source template.
2D/3D gameplay templatesAdd player/camera/collision → assign input → add one interaction → validate.Turns template into a playable test.
UI templatesOpen UI Builder → preview sizes → bind one value/event → test confirm/cancel sounds.Proves menus/HUDs are connected, not just decorative.
Generated/showcase templatesInspect dependencies → confirm assets/resources exist → validate missing references → Quick Play.Generated/showcase examples can need cleanup before production use.
Advanced genre templatesStart with one core loop only; add AI/audio/VFX/cinematics after the loop works.Avoids overwhelming first-time users.

#What this guide covers

This guide is designed to help different kinds of users understand Dreamcatcher without needing to read the source code first. It covers beginner workflows, major tools, runtime nodes, resources, Visual Logic, validation, export preparation, and realistic project limits.

Guide areaCoverage in this guide
Getting startedInstallation, first 10 minutes, first playable scene, and click-by-click beginner routes.
Beginner confusion pointsWhy many Dream* nodes appear in Godot, which nodes to start with, and what to ignore at first.
Core workflowsDream DNA, Scene Composer, Map Editor, Visual Logic, Narrative Weaver, UI Builder, generated assets, validation, and export preparation.
Runtime structureCustom Godot node types, autoload services, resource scripts, module IDs, and project folders.
Reference materialSearchable references for registered custom node types and physical Visual Logic node scripts included in this package.
Project planningRealistic guidance for larger projects, Early Access boundaries, safe backups, asset rights, and platform/export responsibilities.

#Complete custom node type usage reference

This appendix turns the 113 registered Dreamcatcher Godot custom node types into a practical reference. These are the nodes that can appear in Godot's Add Node dialog. You do not need all of them for a first scene.

ModuleCustom types
actors17
ai_director1
combat9
dialogue1
director1
input4
networking1
rpg15
ui22
weapon_aim2
world3
genre_autobattler1
genre_battleroyale1
genre_cards2
genre_farm1
genre_fighting4
genre_hackslash1
genre_horror1
genre_idle1
genre_moba1
genre_procedural1
genre_puzzle2
genre_racing4
genre_rhythm2
genre_roguelike1
genre_runner1
genre_shmup1
genre_simulation1
genre_sports5
genre_stealth1
genre_survival1
genre_td2
genre_vn2

#actors custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamActorCharacterBody3DBeginner core--- SIGNALS ---
Connection: Use when a tool/template/tutorial asks for this runtime helper.
display_name, traits, move_speed, sprint_speed, jump_force, gravity, attack_damage, heavy_attack_damage, attack_cooldown, heavy_attack_cooldown, attack_range, combo_windowentity_died, interaction_received, state_changed, attacked, combo_hit, blockedruntime/nodes/dream_actor.gd
DreamTriggerArea3DBeginner core--- Configuration ---
Connection: Detects player touch/action/interact, then calls a sequence, signal, or logic step.
type, one_shot, trigger_id, sequence, required_item_id, required_switch_id, required_variable, required_valueruntime/nodes/dream_trigger.gd
DreamActor2DCharacterBody2DBeginner coremovement, traits, Behaviour Tree, FSM. Registered as custom type "DreamActor2D" (CharacterBody2D). --- SIGNALS ---
Connection: Use when a tool/template/tutorial asks for this runtime helper.
display_name, traits, move_speed, sprint_speed, jump_force, gravity, control_scheme, coyote_time, jump_buffer_time, enable_stepping_animation, anim_idle, anim_walkentity_died, interaction_received, state_changed, attacked, combo_hit, blockedruntime/dream_actor_2d.gd
DreamTrigger2DArea2DBeginner corefires DreamSequence graphs on body_entered/exited. Registered as custom type "DreamTrigger2D" (Area2D). --- Configuration ---
Connection: Detects player touch/action/interact, then calls a sequence, signal, or logic step.
type, one_shot, trigger_id, sequence, required_item_id, required_switch_id, required_variable, required_valueruntime/dream_trigger_2d.gd
DreamInteractableArea3DBeginner coreArea3D-based interaction zone. Enables NPC talk, door open, item inspect, and any zero-code interaction by firing a DreamSequence when the player presses the Interact action nearby.
Connection: Detects player touch/action/interact, then calls a sequence, signal, or logic step.
interaction_label, prompt_radius, sequence, one_shot, interactable_idinteraction_started, interaction_endedruntime/dream_interactable.gd
DreamPickupArea3DIntermediateArea3D-based item drop / collectible. Auto-adds item to DreamCore inventory when a dream_actor walks into the zone.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
item_id, quantity, auto_destroy, post_pickup_sequencepicked_upruntime/dream_pickup.gd
DreamCheckpointArea3DIntermediateSave-point / respawn marker for platformer and action RPG. Fires DreamSave, animates an activation effect, and marks itself in DreamCore.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
checkpoint_id, save_slot, activation_sequence, group_namecheckpoint_activatedruntime/dream_checkpoint.gd
DreamPlatformAnimatableBody3DIntermediateMoving platform for platformer genre. Uses AnimatableBody3D so CharacterBody3D actors ride it automatically. Supports linear A→B→A looping with configurable easing.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
target_offset, travel_time, pause_time, auto_start, on_actor_land_sequenceruntime/dream_platform.gd
DreamProjectileCharacterBody3DIntermediate3D homing or straight projectile with speed, damage, on_hit sequence, and despawn timer. Registered as custom type "DreamProjectile" (CharacterBody3D).
Connection: Use when a tool/template/tutorial asks for this runtime helper.
speed, damage, lifetime, on_hit_sequence, homing_target, homing_strength, destroy_on_hit, pierce_counthit, despawnedruntime/dream_projectile.gd
DreamProjectile2DCharacterBody2DIntermediatehoming or straight 2-D projectile with speed, damage, on_hit sequence, and auto-despawn timer. Registered as custom type "DreamProjectile2D" (CharacterBody2D).
Connection: Use when a tool/template/tutorial asks for this runtime helper.
speed, damage, lifetime, on_hit_sequence, homing_target, homing_strength, destroy_on_hit, pierce_counthit, despawnedruntime/dream_projectile_2d.gd
DreamNavPathNode3DIntermediatewaypoint-based patrol path helper for DreamActor / AI nodes. Place as a child of any Node3D. Add Marker3D children named "Point0", "Point1" ... or add waypoints programmatically. Registered as custom type "DreamNavPath".
Connection: Use when a tool/template/tutorial asks for this runtime helper.
loop_mode, auto_collect_childrenpoint_reached, loop_completedruntime/dream_nav_path.gd
DreamPlatform2DAnimatableBody2DIntermediateping-pong, circular, path-following motion. Registered as custom type "DreamPlatform2D" (AnimatableBody2D).
Connection: Use when a tool/template/tutorial asks for this runtime helper.
move_type, target_offset, speed, pause_at_ends, radius, angular_speed, one_way, one_way_margin, falls_on_touch, fall_delay, fall_speed, respawn_timeruntime/dream_platform_2d.gd
DreamInteractable2DArea2DBeginner coreNPC/object interaction zones. Registered as custom type "DreamInteractable2D" (Area2D).
Connection: Detects player touch/action/interact, then calls a sequence, signal, or logic step.
interaction_text, interaction_action, one_shot, cooldown, auto_interact, required_item, show_prompt, prompt_offset, highlight_on_hoverinteracted, interaction_availableruntime/dream_interactable_2d.gd
DreamPickup2DArea2DIntermediatecollectible items in 2D world. Registered as custom type "DreamPickup2D" (Area2D).
Connection: Use when a tool/template/tutorial asks for this runtime helper.
item_id, quantity, auto_collect, destroy_on_pickup, collect_action, bob_amplitude, bob_speed, spin_speed, attract_speed, attract_rangepicked_upruntime/dream_pickup_2d.gd
DreamCheckpoint2DArea2DIntermediatesave/respawn point for 2D games. Registered as custom type "DreamCheckpoint2D" (Area2D).
Connection: Use when a tool/template/tutorial asks for this runtime helper.
checkpoint_id, one_time_activation, auto_save, respawn_offsetcheckpoint_activatedruntime/dream_checkpoint_2d.gd
DreamNavPath2DPath2DIntermediatepatrol routes, cutscene paths, NPC schedules. Registered as custom type "DreamNavPath2D" (Path2D).
Connection: Use when a tool/template/tutorial asks for this runtime helper.
loop_mode, speed, pause_at_waypoints, auto_start, look_aheadpath_completed, waypoint_reachedruntime/dream_nav_path_2d.gd
DreamVehicleSystemNodeIntermediateMount/dismount, vehicle physics, mounted combat, vehicle types. Manages horses, cars, boats, flying mounts with speed/handling/fuel/durability. Works with DreamActor, DreamInput, DreamCombatBridge.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
mount_distance, dismount_offset, allow_mounted_combat, damage_transfer_to_rider, enable_fuel, enable_durabilitymounted, dismounted, vehicle_damaged, vehicle_destroyed, fuel_changed, speed_changedruntime/core/dream_vehicle_system.gd

#ai_director custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamAIDirectorNodeIntermediateDynamic difficulty, group AI coordination, boss phase orchestration. Manages enemy attack cadence, prevents all-at-once attacks, scales difficulty, tracks player performance, and coordinates boss mechanics. Works with DreamEntityTypes, DreamCombatBridge, Battl
Connection: Use when a tool/template/tutorial asks for this runtime helper.
enable_dynamic_difficulty, base_difficulty, min_difficulty, max_difficulty, difficulty_adjust_speed, death_penalty, domination_bonus, max_simultaneous_attackers, attack_cooldown_min, attack_cooldown_max, stagger_group_attacks, intensity_buildup_ratedifficulty_changed, intensity_changed, attack_cooldown_started, group_command_issued, player_struggling, player_dominating, mercy_rule_triggeredruntime/core/dream_ai_director.gd

#combat custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamHitboxArea3DBeginner corefires damage on body overlap. Pair with DreamHurtbox on the target actor. Registered as custom type "DreamHitbox" (Area3D).
Connection: Connects combat contact to damage/health/feedback logic.
damage, hit_faction, one_hit_per_swing, start_inactivehit_landedruntime/dream_hitbox.gd
DreamHurtboxArea3DBeginner corereception box for actors. Pair with DreamHitbox on the attacker. Handles invincibility frames and routes damage to the owning actor. Registered as custom type "DreamHurtbox" (Area3D).
Connection: Connects combat contact to damage/health/feedback logic.
invincibility_duration, flash_on_hit, flash_color, flash_durationhit_receivedruntime/dream_hurtbox.gd
DreamDamageFormulaNodeIntermediateDamage calculation engine with formula evaluation. Evaluates skill formulas using actor/enemy stats with variance and critical hits. Add as Autoload (DreamDamageFormula) or use static methods. Calculate damage from a skill used by an attacker on a defender.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
runtime/core/dream_damage_formula.gd
DreamHitbox2DArea2DBeginner coreattack collision detection for 2D games. Registered as custom type "DreamHitbox2D" (Area2D).
Connection: Connects combat contact to damage/health/feedback logic.
damage, knockback_force, knockback_direction, hit_stun_duration, hit_stop_frames, active, startup_frames, active_frames, recovery_frames, active_duration, hit_level, can_cancel_intohit_landedruntime/dream_hitbox_2d.gd
DreamHurtbox2DArea2DBeginner coredamage receiver for 2D games. Registered as custom type "DreamHurtbox2D" (Area2D).
Connection: Connects combat contact to damage/health/feedback logic.
invincible, i_frame_duration, flash_on_hit, flash_color, guard_type, guard_gauge, max_guard_gauge, guard_recovery_ratedamage_received, i_frames_started, i_frames_endedruntime/dream_hurtbox_2d.gd
DreamCombatBridgeNodeIntermediatebased, real-time, fighting, hack & slash, projectile, physics, grid) within the same game. All combat managers register here; the bridge routes attacks, damage, and transitions between modes so hybrid games "just work".
Connection: Use when a tool/template/tutorial asks for this runtime helper.
default_mode, allow_mode_stackingcombat_mode_changed, damage_dealt, encounter_started, encounter_ended, attack_performed, entity_diedruntime/core/dream_combat_bridge.gd
DreamGridCombatNodeIntermediateGrid-based tactical combat system (XCOM, Fire Emblem, FFT style). Handles grid movement, attack ranges, cover, flanking, elevation, turn order. Works with DreamActor, DreamCombatBridge, DreamRPGComfort.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
grid_width, grid_height, cell_size, turn_mode, allow_diagonal, friendly_fire, fog_of_war, height_advantage_bonus, half_cover_defense, full_cover_defense, flanking_bonus, water_move_costgrid_initialized, unit_placed, unit_moved, unit_attacked, turn_started, turn_ended, phase_changed, battle_startedruntime/core/dream_grid_combat.gd
DreamEntityTypesNodeIntermediateEntity classification and AI behavior scaling. Differentiates Boss, MiniBoss, Elite, Normal, NPC with stat multipliers, AI behavior profiles, loot multipliers, and visual indicators.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
entity_registered, boss_phase_changed, boss_enraged, elite_spawned, miniboss_defeated, boss_defeatedruntime/core/dream_entity_types.gd
DreamDamageNumbersNodeBeginner coreFloating damage/heal/crit/miss/status popups. Spawns animated text labels above entities for combat feedback. Works with both 2D and 3D scenes. Configurable styles per damage type.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
float_duration, float_height, spread_range, scale_start, scale_peak, scale_end, fade_start, crit_scale_multiplier, crit_shake, crit_shake_amount, font_size_normal, font_size_critnumber_spawnedruntime/core/dream_damage_numbers.gd

#dialogue custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamDialogueBoxCanvasLayerIntermediateReady-to-use RPG-style dialogue box with portraits, typewriter effect, speaker name, and player choice support. Zero-code: Add as Autoload (DreamHUD) or child of any scene. The event system (EventDialogue) calls show_dialogue / hide_dialogue on this.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
box_height, portrait_size, typewriter_speed, font_size, name_font_size, default_name_color, panel_bg_color, panel_corner_radius, panel_border_width, panel_border_color, panel_padding, advance_actiondialogue_advanced, choice_selectedruntime/ui/dialogue_box.gd

#director custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamBehaviorNodeBeginner coreThe Dreamcatcher Visual Script (.dcs) to execute. If true, the visual script executes automatically when the scene loads.
Connection: Attach to a scene object and assign/run a DreamSequence or Visual Logic graph.
logic_script, run_on_ready, trigger_signalcomponents/dream_behavior.gd

#input custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamVirtualJoystickControlIntermediatefinger mode, 3 visibility modes, dead zone, haptic feedback. Godot 4.7-stable compatibility-targeted; Godot 4.6.3 supported.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
joystick_radius, handle_radius, dead_zone, clamp_zone, follow_finger, follow_threshold, visibility_mode, use_haptic, base_color, ring_color, ring_pressed_color, handle_colorjoystick_input, joystick_releasedruntime/touch/virtual_joystick.gd
DreamTouchButtonControlIntermediatetouch. Features: glow ring on press, scale animation, icon/texture support, shadow, circle or rounded-rect shape, customizable colors, haptic feedback. Godot 4.7-stable compatibility-targeted; Godot 4.6.3 supported.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
action_name, button_label, use_haptic, button_radius, shape, corner_radius, normal_color, pressed_color, border_color, border_pressed_color, glow_color, shadow_colorbutton_pressed, button_releasedruntime/touch/touch_button.gd
DreamTouchDPadControlIntermediatePad for mobile/touch input. Provides 4-directional or 8-directional input via touch. Features: arrow glow + scale on press, customizable colors/sizes per direction, rounded pad shape, animated feedback, haptic, texture support. Godot 4.7-stable compatibility-t
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
action_up, action_down, action_left, action_right, allow_diagonal, use_haptic, dpad_size, button_size, bg_color, normal_color, pressed_color, glow_colordirection_pressed, direction_releasedruntime/touch/touch_dpad.gd
DreamGestureAreaControlIntermediatedetects swipe, pinch, tap, double-tap, and long-press. Features: visual swipe trail, tap ripple, long-press ring, customizable feedback. Attach to any Control to add gesture recognition. Godot 4.7-stable compatibility-targeted; Godot 4.6.3 supported.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
swipe_min_distance, swipe_max_time, long_press_time, double_tap_time, double_tap_distance, show_swipe_trail, trail_color, trail_width, show_tap_ripple, ripple_color, ripple_max_radius, ripple_durationswipe_detected, pinch_detected, tap_detected, double_tap_detected, long_press_detected, long_press_releasedruntime/touch/touch_gesture_area.gd

#networking custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamLobbyUICanvasLayerIntermediateMultiplayer lobby UI prefab (Phase 3, Section 5.5). Provides Host/Join buttons, server address, player list, and Start Game. Works with DreamNetSync autoload for zero-code multiplayer setup. Godot 4.7-stable compatibility-targeted; Godot 4.6.3 supported.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
game_started, lobby_closedcontrols/dream_lobby_ui.gd

#rpg custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamEquipMenuCanvasLayerIntermediateReady-to-use equipment screen for RPG games. Shows actor stats, equipped items, and allows swapping gear. Zero-code: Add as child of any scene. Toggle with exported action.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
toggle_action, actor_id, dimmer_color, panel_bg_color, panel_corner_radius, panel_border_width, panel_border_color, panel_padding, title_font_size, title_color, slot_label_size, stat_label_sizeruntime/ui/equip_menu.gd
DreamEquipmentNodeNodeIntermediateManages equip/unequip logic and stat calculations. Works with DreamActorData's equipment slots and DreamItem's stat bonuses. Add as Autoload (DreamEquipment) or call statically. Equipment data stored per actor: { "actor_id": { "Weapon": "item_id", "Armor": "it
Connection: Use when a tool/template/tutorial asks for this runtime helper.
runtime/core/dream_equipment.gd
DreamQuestManagerNodeAdvanced / genre-specificRuntime quest tracking, auto-advance, chains, and objective management. Works with DreamQuest resources, DreamCore, and DreamEventBus. Add as child of any node or use as autoload.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
max_active_quests, auto_track_new_quests, show_notifications, auto_reward_on_completequest_accepted, quest_updated, quest_objective_complete, quest_completed, quest_failed, quest_abandoned, quest_chain_advanced, tracker_updatedruntime/core/dream_quest_manager.gd
DreamSkillTreeNodeIntermediateSkill/talent tree with unlock logic, point allocation, prerequisites. Supports multiple trees per actor (e.g., Warrior tree, Mage tree, Passive tree). Works with DreamActorData, DreamCore, and DreamEventBus.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
points_per_level, allow_respec, respec_cost_gold, respec_cost_scalesskill_unlocked, skill_upgraded, points_changed, tree_reset, skill_activatedruntime/core/dream_skill_tree.gd
DreamCraftingManagerNodeAdvanced / genre-specificUniversal crafting system for all genres. Recipe registry, ingredient checking, crafting queue, workstations, discovery. Works with DreamCore inventory, DreamItem resources, DreamEventBus.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
max_queue_size, allow_bulk_craft, discovery_mode, show_undiscovered_hintsrecipe_discovered, crafting_started, crafting_progress, crafting_completed, crafting_failed, crafting_cancelled, recipe_list_changedruntime/core/dream_crafting_manager.gd
DreamNPCSystemNodeIntermediateNPC schedules, routines, relationships, affinity, dialogue states. Manages daily routines, time-based location changes, gift preferences, relationship hearts. Works with DreamGameLoop, DreamDialogueManager, DreamCore, DreamEventBus.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
max_relationship, hearts_per_level, daily_talk_bonus, daily_talk_limit, birthday_gift_multiplierrelationship_changed, relationship_level_up, gift_given, npc_schedule_changed, npc_dialogue_state_changed, npc_met_first_timeruntime/core/dream_npc_system.gd
DreamLootManagerNodeAdvanced / genre-specificWorld loot drops, rarity colors, pickup radius, auto-loot. Spawns physical loot in the world from enemies, chests, breakables. Works with DreamLootTable, DreamItem, DreamCore, DreamEntityTypes.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
pickup_radius, auto_loot, auto_loot_rarity_threshold, loot_magnet, magnet_speed, loot_lifetime, drop_scatter_radius, drop_bounce_height, show_rarity_glow, show_loot_labels, color_common, color_uncommonloot_dropped, loot_picked_up, loot_expired, rare_loot_dropped, gold_dropped, gold_picked_upruntime/core/dream_loot_manager.gd
DreamPartyFormationNodeIntermediateParty row system, formation bonuses, position-based targeting. Front/back row mechanics, formation presets, swap logic, row-based damage modifiers. Works with DreamCore, BattleManager, DreamActorData.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
max_party_size, enable_middle_row, front_row_damage_mult, back_row_damage_mult, back_row_melee_penalty, front_row_melee_bonusformation_changed, member_row_changed, member_position_changed, formation_bonus_appliedruntime/core/dream_party_formation.gd
DreamInventoryManagerNodeAdvanced / genre-specificAdvanced inventory with weight, categories, sorting, favorites, stacking. Wraps DreamCore's basic inventory with rich features for RPG/survival/adventure games. Works with DreamItem resources, DreamCore, DreamEquipment, DreamEventBus.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
max_slots, max_weight, enable_weight, enable_slot_limit, auto_stack, default_sort, allow_drop, confirm_drop_rare, weight_consumable, weight_weapon, weight_armor, weight_accessoryitem_added, item_removed, item_used, inventory_full, weight_changed, item_favorited, inventory_sorted, item_movedruntime/core/dream_inventory_manager.gd
DreamShopManagerNodeAdvanced / genre-specificRuntime buy/sell system with haggling, stock, and reputation. Works with DreamShop resources, DreamCore, DreamInventoryManager, DreamNPCSystem.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
default_sell_rate, enable_stock_limits, enable_reputation, reputation_discount_max, bulk_discount_threshold, bulk_discount_rateshop_opened, shop_closed, item_bought, item_sold, purchase_failed, sale_failed, stock_changed, reputation_changedruntime/core/dream_shop_manager.gd
DreamTutorialSystemNodeIntermediateStep-by-step onboarding, tooltip highlights, input prompts. Manages tutorial sequences, completion tracking, contextual tips, and input gating. Works with DreamInput, DreamCore, DreamEventBus, DreamNotification.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
allow_skip, show_tips_once, tip_display_duration, dim_background, dim_color, highlight_color, auto_pause_on_steptutorial_started, tutorial_step_shown, tutorial_step_completed, tutorial_completed, tutorial_skipped, tip_shown, tip_dismissedruntime/core/dream_tutorial_system.gd
DreamCompanionSystemNodeIntermediatePets, followers, companions with AI, commands, loyalty. Manages follow behavior, combat assistance, abilities, leveling, and bonding. Works with DreamActor, DreamAIDirector, DreamNPCSystem, DreamEventBus.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
max_active_companions, follow_distance, follow_speed_multiplier, leash_distance, combat_assist, share_exp, exp_share_ratio, max_loyalty, loyalty_gain_per_battle, loyalty_gain_per_feed, loyalty_decay_per_day, loyalty_loss_on_deathcompanion_summoned, companion_dismissed, companion_command, companion_leveled_up, loyalty_changed, companion_ability_used, companion_died, companion_revivedruntime/core/dream_companion_system.gd
DreamBattleSceneCanvasLayerIntermediatebased RPG battle scene with full menu flow, party/enemy display, and victory/defeat results screen. Works with DreamCombatBridge and BattleManager. Supports Front View and Side View layouts.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
battle_bgm, victory_me, defeat_me, allow_escape, escape_base_ratebattle_finishedruntime/ui/dream_battle_scene.gd
DreamEncounterSystemNodeIntermediatebased encounter tables, step counting, and configurable encounter rates. Works with DreamCombatBridge and DreamBattleScene.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
enabled, default_encounter_steps, rate_multiplier, encounter_tables, safe_regions, auto_track_player, step_distanceencounter_triggered, steps_updatedruntime/core/dream_encounter_system.gd
DreamCreatureCollectionNodeIntermediatelogic nodes.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
species_db, roster, capture_rule, encounter_tablesencounter_started, creature_captured, creature_added, creature_leveled, creature_evolved, bestiary_updatedruntime/core/dream_creature_collection.gd

#ui custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamSkillBarHBoxContainerIntermediatedisplays a row of skill/ability icons with cooldown overlays. Add to any CanvasLayer. Call refresh(slots) to update. Emitted when the player clicks a skill slot.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
slots, slot_size, cooldown_tintskill_activatedruntime/ui/skill_bar.gd
DreamQuestLogPanelContainerIntermediatescrollable panel listing active and completed quests. Reads from DreamCore's quest data when available.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
show_completed, header_text, panel_bg_color, panel_corner_radius, panel_border_width, panel_border_color, panel_padding, title_font_size, title_color, active_quest_color, completed_quest_colorquest_selectedruntime/ui/quest_log.gd
DreamCharacterSheetPanelContainerIntermediatedisplays actor stats, level, XP bar, and equipment slots. The actor node to inspect. Set at runtime.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
panel_title, panel_bg_color, panel_corner_radius, panel_border_width, panel_border_color, panel_padding, title_font_size, title_color, label_font_size, label_color, section_color, xp_bar_colorruntime/ui/character_sheet.gd
DreamCraftUIPanelContainerIntermediatedisplays available recipes and lets the player craft items.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
panel_title, panel_bg_color, panel_corner_radius, panel_border_width, panel_border_color, panel_padding, title_font_size, title_color, info_font_size, info_color, craft_button_color, craft_button_font_coloritem_craftedruntime/ui/craft_ui.gd
DreamBattleHUDCanvasLayerIntermediatecombat overlay showing player and enemy health/status bars. Emitted when the player's HP drops to zero.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
bar_width, bar_height, player_bar_color, enemy_bar_color, bar_bg_color, bar_corner_radius, name_font_size, name_font_color, turn_font_size, turn_font_color, panel_bg_color, panel_corner_radiusplayer_defeated, enemy_defeatedruntime/ui/battle_hud.gd
DreamMapUIPanelContainerIntermediatefull-screen or mini-map panel driven by DreamMapReveal.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
cell_px, revealed_color, fog_color, player_colorruntime/ui/map_ui.gd
DreamLoadingScreenCanvasLayerIntermediateanimated loading overlay with progress bar and tip text.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
background_color, background_texture, show_spinner, bar_color, bar_bg_color, bar_height, bar_width, bar_corner_radius, show_percentage, title_text, title_font_size, title_colorload_completeruntime/ui/loading_screen.gd
DreamTitleCardUICanvasLayerIntermediateanimated chapter/title card overlay. Shows large text with fade-in, hold, and fade-out phases.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
fade_duration, hold_duration, background_colordisplay_finishedruntime/ui/title_card_ui.gd
DreamTitleScreenControlIntermediateReady-to-use title screen for any game genre. Supports: New Game, Continue, Settings, Quit. Works out of the box. Zero-code: Just set exported properties in the Inspector.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
game_title, subtitle, background_image, logo_image, title_music_path, title_color, title_font_size, subtitle_color, subtitle_font_size, overlay_color, fade_in_duration, button_colorruntime/ui/title_screen.gd
DreamPauseMenuCanvasLayerIntermediateReady-to-use pause menu overlay. Supports: Resume, Save, Load, Settings, Return to Title, Quit. Zero-code: Attach to any scene. Triggers on ui_cancel (Escape).
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
pause_actionruntime/ui/pause_menu.gd
DreamInventoryMenuCanvasLayerIntermediateReady-to-use inventory grid UI. Displays player items with icons, quantities, and use/equip actions. Zero-code: Add as child of any scene. Toggle with ui_inventory action.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
toggle_action, columns, dimmer_color, panel_bg_color, panel_corner_radius, panel_border_width, panel_border_color, panel_padding, title_font_size, title_color, desc_font_size, desc_coloritem_used, item_equippedruntime/ui/inventory_menu.gd
DreamSaveSlotUICanvasLayerIntermediateVisual save/load slot selector with thumbnails and metadata. Zero-code: Add as child of pause menu or call open_save() / open_load().
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
max_slots, dimmer_color, panel_bg_color, panel_corner_radius, panel_border_width, panel_border_color, panel_padding, title_font_size, title_color, slot_title_font_size, slot_meta_font_size, slot_meta_colorslot_selectedruntime/ui/save_slot_ui.gd
DreamPauseScreenCanvasLayerIntermediateDrop-in pause menu for any Dreamcatcher game. Automatically pauses/unpauses the SceneTree and provides Resume, Settings, Save, Load, and Quit to Title options. Add as a child of your main scene or use as an autoload.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
pause_action, allow_save, overlay_color, panel_color, panel_border_color, panel_corner_radius, panel_border_width, title_text, title_color, title_font_size, button_color, button_hover_colorresumed, quit_to_titleruntime/ui/dream_pause_menu.gd
DreamLoadingOverlayControlIntermediateaddons/dreamcatcher/runtime/ui/dream_loading_screen.gd Default loading screen for DreamSceneManager. Shows a progress bar and animated spinner during scene transitions. Assign this scene's PackedScene to DreamSceneManager.loading_screen.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
runtime/ui/dream_loading_screen.gd
DreamGameOverCanvasLayerIntermediateDrop-in Game Over / Death screen. Shows a message, optional retry and quit buttons. Connect to DreamCore.game_over signal or call show_game_over() directly.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
game_over_text, subtitle_text, show_retry, show_quitretry_pressed, quit_pressedruntime/ui/dream_game_over.gd
DreamCreditsScreenCanvasLayerIntermediateAuto-scrolling credits roll for any game. Populate credits_data with sections and names, then call play().
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
credits_data, scroll_speed, bg_color, section_color, name_color, footer_textcredits_finishedruntime/ui/dream_credits_screen.gd
DreamSplashScreenCanvasLayerIntermediateAnimated splash/logo screen shown at game start. Displays the Dreamcatcher logo with fade-in animation, then transitions to the title screen or first game scene.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
display_duration, fade_duration, show_engine_text, bg_color, logo_texturesplash_finishedruntime/ui/dream_splash_screen.gd
DreamNotificationCanvasLayerIntermediateIn-game toast / notification popup system. Provides achievement toasts, item pickups, quest updates, and custom messages. Usage: DreamNotification.show_toast("Achievement Unlocked!", "First Steps", icon)
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
max_visible, toast_duration, fade_duration, slide_offset, spacing, toast_bg_color, toast_corner_radius, toast_border_width, toast_padding, title_font_size, title_color, message_font_sizeruntime/ui/dream_notification.gd
DreamMinimapControlIntermediateDrop-in minimap overlay for any game genre. Renders a top-down view of tracked entities with configurable radius, zoom, and icons. Works with both 2D and 3D games automatically.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
minimap_size, minimap_zoom, border_width, border_color, bg_color, player_color, enemy_color, npc_color, item_color, show_player_direction, circular, track_radiusentity_clickedruntime/ui/dream_minimap.gd
DreamCharacterSelectCanvasLayerIntermediategrid roster, cursor navigation, portraits. Supports 1P vs 2P, 1P vs CPU, team select, and random pick.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
roster, columns, allow_mirror_match, team_size, show_random_slotp1_selected, p2_selected, both_ready, cancelledruntime/ui/character_select.gd
DreamHealthBarControlBeginner coreA fully customizable health/stat bar for any entity. Features: fill color gradients, damage flash, animated drain, label overlay, texture support for fill & container, shape modes (flat/rounded/custom), auto-binding to any node with "health"/"max_health" prope
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
current_value, max_value, target_node, health_property, max_health_property, poll_interval, bar_height, corner_radius, shape_mode, border_width, border_color, fill_color_fullvalue_changed, depletedruntime/ui/dream_health_bar.gd
DreamMinimapMarkersNodeIntermediateWaypoint, quest marker, and POI icon management system. Tracks world markers for minimap/compass display, distance indicators, and off-screen arrows. Works with DreamQuestManager, DreamNPCSystem, DreamCore.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
reach_distance, max_markers, show_distance_text, show_offscreen_arrows, compass_mode, color_quest_objective, color_quest_giver, color_shop, color_save_point, color_enemy, color_boss, color_allymarker_added, marker_removed, marker_reached, waypoint_set, waypoint_clearedruntime/core/dream_minimap_markers.gd

#weapon_aim custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamWeaponSystemNodeIntermediateUnified weapon management for all combat styles. Handles melee/ranged weapons, ammo, switching, attack cooldowns, combos. Works with DreamActor (3D), DreamActor2D, DreamHitbox, DreamProjectile. Attach as child of any actor to give them weapons.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
max_weapons, switch_time, melee_hitbox_path, muzzle_pathweapon_switched, weapon_fired, weapon_reloaded, ammo_changed, melee_attack_started, melee_attack_ended, weapon_added, weapon_removedruntime/core/dream_weapon_system.gd
DreamAimSystemNodeIntermediateCrosshair, raycasting, aim assist, and targeting for FPS, TPS, twin-stick, and any game needing precise aiming. Attach as child of DreamActor (3D) or DreamActor2D. Works with DreamWeaponSystem for seamless shooting.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
aim_mode, max_range, raycast_collision_mask, aim_assist_strength, aim_assist_radius, target_group, show_crosshair, crosshair_color, crosshair_size, crosshair_thickness, dynamic_spread, base_spreadtarget_acquired, target_lost, aim_direction_changedruntime/core/dream_aim_system.gd

#world custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamCamera3DCamera3DBeginner corefollow, trauma-based shake, FOV zoom, and DOF control. Registered as custom type "DreamCamera3D" (Camera3D). Called by camera_shake and camera_zoom logic nodes via /root/DreamCamera3D group.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
follow_target_path, follow_speed, follow_offset, look_at_target, look_at_offset, use_spring_arm_length, trauma_decay, max_shake_degrees, default_fovruntime/dream_camera_3d.gd
DreamCamera2DCamera2DBeginner coreCamera2D with follow smoothing, trauma-based shake, zoom, limits, and parallax control. Registered as custom type "DreamCamera2D" (Camera2D). ── Signals ─────────────────────────────────────────────────────────────────
Connection: Use when a tool/template/tutorial asks for this runtime helper.
follow_target, follow_speed, follow_offset, max_shake_offset, max_shake_rotation_deg, trauma_decay, default_zoom, zoom_speed, use_limits, limit_left_px, limit_right_px, limit_top_pxtrauma_changedruntime/dream_camera_2d.gd
DreamParallaxParallaxBackgroundIntermediatescroll, camera-relative, infinite repeat. Works for platformers, shmups, endless runners, visual novels.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
auto_scroll, auto_scroll_speed, sky_texture, far_bg_texture, mid_bg_texture, near_bg_texture, foreground_texture, auto_build_layerslayer_addedruntime/core/dream_parallax.gd

#genre_autobattler custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamAutoBattlerNodeAdvanced / genre-specificBattler / Auto Chess Manager Handles grid placement, auto-combat rounds, economy, and synergy bonuses. Godot 4.7-stable compatibility-targeted; Godot 4.6.3 supported.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
grid_width, grid_height, starting_gold, interest_rate, interest_cap, base_income, win_streak_bonus, loss_streak_bonus, shop_refresh_cost, shop_size, xp_per_round, xp_per_goldround_started, round_ended, unit_placed, unit_removed, shop_refreshed, synergy_activated, gold_changed, player_eliminatedruntime/autobattler/auto_battler_manager.gd

#genre_battleroyale custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamBattleRoyaleNodeAdvanced / genre-specificman-standing logic. Godot 4.7-stable compatibility-targeted; Godot 4.6.3 supported.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
initial_zone_radius, zone_shrink_phases, zone_shrink_interval, zone_damage_per_second, zone_damage_multiplier_per_phase, zone_center_drift, max_players, enable_knockdown, knockdown_bleed_time, revive_time, team_size, loot_densityzone_shrink_started, zone_shrink_completed, zone_damage_tick, player_eliminated, player_knocked, loot_spawned, loot_picked_up, match_startedruntime/battleroyale/battle_royale_manager.gd

#genre_cards custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamCardGameManagerNode2DAdvanced / genre-specificres://addons/dreamcatcher/runtime/card/card_game_manager.gd Universal card game manager supporting both trading card games (TCG) and classic card games (solitaire, poker, rummy, uno, blackjack, etc.). Uses DreamStandardDeck for classic modes and DreamCore data
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
game_mode, opening_hand_size, deck_size, max_hand_size, cards_drawn_per_turn, starting_mana, max_mana, mana_gain_per_turn, starting_healthturn_started, card_played, game_over, card_moved, meld_declared, hand_evaluated, score_changedruntime/card/card_game_manager.gd
DreamStandardDeckRefCountedAdvanced / genre-specificcard deck with suits, ranks, values, and common operations. Supports: Solitaire, Poker, Rummy, Uno, Blackjack, and any classic card game. Card suits
Connection: Use when a tool/template/tutorial asks for this runtime helper.
runtime/card/standard_card_deck.gd

#genre_farm custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamFarmManagerNodeAdvanced / genre-specificaddons/dreamcatcher/runtime/farm/farm_manager.gd DreamFarmManager â€" Core runtime for farming/cozy games. Handles crop growth, soil states, watering, fertilizing, harvest, seasons integration, animal husbandry, and farm economy. Integrates with DreamGameLoop
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
hours_per_growth_tick, fertilizer_speed_mult, quality_chance, wither_days, starting_gold, feed_interval_hours, max_affection, affection_per_feedcrop_planted, crop_watered, crop_fertilized, crop_grew, crop_ready, crop_harvested, crop_withered, soil_tilledruntime/farm/farm_manager.gd

#genre_fighting custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamFightingManagerNodeAdvanced / genre-specificaddons/dreamcatcher/runtime/fighting/fighting_manager.gd Core fighting game runtime â€" frame data, input commands, rounds, combos. Supports 2D (Street Fighter, Guilty Gear) and 3D (Tekken, Naruto Storm).
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
rounds_to_win, round_time, time_speed, enable_chip_damage, enable_guard_break, max_meter, meter_gain_on_hit, meter_gain_on_block, juggle_limit, combo_stale_rate, arena_mode, arena_radiusround_started, round_ended, match_ended, combo_hit, combo_dropped, meter_changed, hit_confirmed, guard_brokenruntime/fighting/fighting_manager.gd
DreamFighterAINodeAdvanced / genre-specificof-the-box with zero configuration for template scenes.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
aggression, reaction_time, preferred_distance, attack_range, block_chance, combo_chance, jump_attack_chance, heavy_attack_chance, difficultyruntime/fighting/dream_fighter_ai.gd
DreamFighterAI3DNodeAdvanced / genre-specificof-the-box with zero configuration for template scenes.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
aggression, reaction_time, preferred_distance, attack_range, block_chance, combo_chance, jump_attack_chance, heavy_attack_chance, strafe_chance, difficultyruntime/fighting/dream_fighter_ai_3d.gd
DreamFightingHUDCanvasLayerAdvanced / genre-specificHP bars, meter, round indicators, combo counter, timer. Works for both 2D (SF/GG style) and 3D arena (Naruto Storm style).
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
show_combo_counter, show_input_display, show_frame_data, hp_bar_height, hp_bar_width, p1_hp_color, p2_hp_color, hp_bg_color, meter_color, meter_height, bar_corner_radius, name_font_sizehud_readyruntime/ui/fighting_hud.gd

#genre_hackslash custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamHackSlashMgrNodeAdvanced / genre-specifichandles combo chains, crowd combat, loot drops, enemy waves, and score multipliers for both 2D and 3D hack-and-slash games. Works with DreamActor/DreamActor2D for player characters.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
combo_timeout, combo_multiplier_per_hit, max_combo_multiplier, loot_drop_chance, rarity_weights, style_thresholds, enable_hit_stop, hit_stop_duration, screen_shake_intensitycombo_advanced, combo_broken, loot_dropped, wave_started, wave_cleared, finisher_triggered, style_rank_changedruntime/hackslash/hack_slash_manager.gd

#genre_horror custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamHorrorManagerNodeAdvanced / genre-specificaddons/dreamcatcher/runtime/horror/horror_manager.gd DreamHorrorManager â€" Core runtime for horror games. Handles sanity, fear, darkness, jump scares, safe rooms, flashlight, environmental audio, and tension systems. Works with 2D and 3D.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
max_sanity, starting_sanity, darkness_drain_rate, proximity_drain_rate, horror_proximity_radius, safe_room_recovery_rate, fear_decay_rate, heartbeat_threshold, hallucination_threshold, movement_penalty_threshold, max_fear_speed_mult, flashlight_enabledsanity_changed, fear_changed, sanity_effect_triggered, jump_scare_triggered, safe_room_entered, safe_room_exited, flashlight_toggled, flashlight_battery_changedruntime/horror/horror_manager.gd

#genre_idle custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamIdleManagerNodeAdvanced / genre-specificgenerators, big number scaling, prestige/reset, upgrade trees, offline progress calculation, and click multipliers. Supports both 2D and 3D idle games.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
base_click_value, click_multiplier, tick_rate, offline_progress_enabled, max_offline_seconds, prestige_exponent, prestige_thresholdresources_generated, currency_changed, upgrade_purchased, prestige_triggered, milestone_reached, clickedruntime/idle/idle_game_manager.gd

#genre_moba custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamMOBAManagerNodeAdvanced / genre-specificstable compatibility-targeted; Godot 4.6.3 supported.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
team_count, lane_count, max_hero_level, minion_wave_interval, minions_per_wave, super_minions_enabled, respawn_base_time, respawn_time_per_level, passive_gold_per_second, kill_gold_reward, assist_gold_reward, tower_gold_rewardmatch_started, match_ended, tower_destroyed, minion_wave_spawned, hero_killed, hero_respawned, gold_earned, level_upruntime/moba/moba_manager.gd

#genre_procedural custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamProceduralGenNodeAdvanced / genre-specifichighly polished-grade multi-algorithm map generator. 10 algorithms, multi-layer terrain, heightmap erosion, Voronoi regions, Poisson sampling, A* corridors, shaped rooms, prefab stamps, zone tags, reachability validation, Delaunay connections, and full customisation.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
algorithm, map_width, map_height, min_rooms, max_rooms, room_min_size, room_max_size, corridor_width, seed_value, room_shape, room_shape_variety, room_paddingfloor_generated, room_placed, generation_complete, layer_generated, zone_assignedruntime/core/dream_procedural_gen.gd

#genre_puzzle custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamPuzzleManagerNodeAdvanced / genre-specificres://addons/dreamcatcher/runtime/puzzle/puzzle_manager.gd Simple manager for triggering and resolving puzzle gameplay. Puzzles themselves are defined via DreamPuzzle resources. This manager maintains the active puzzle and signals when it starts, succeeds or f
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
puzzle_started, puzzle_solved, puzzle_failed, puzzle_cancelledruntime/puzzle/puzzle_manager.gd
DreamPuzzleGridNode2DAdvanced / genre-specificbased puzzle games. Supports Match-3, Sokoban, Tetris-style, pipe puzzles, and sliding puzzles.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
puzzle_type, grid_width, grid_height, cell_size, min_match, cell_types, max_moves, score_per_cell, cascade_multiplier, combo_bonus, sokoban_player_poscells_swapped, match_found, cells_cleared, cascade_triggered, gravity_settled, puzzle_solved, move_made, score_changedruntime/puzzle/puzzle_grid.gd

#genre_racing custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamRaceCarVehicleBody3DAdvanced / genre-specificVehicleBody3D-based racing car actor. Fully integrated with the Racing intent node system and DreamRaceManager.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
race_config, is_ai, action_throttle, action_brake, action_steer_left, action_steer_right, action_nitro, action_handbrakecheckpoint_passed, lap_completed, race_finishedruntime/dream_race_car.gd
DreamRaceCheckpointArea3DAdvanced / genre-specificArea3D checkpoint for Racing DNA (DNA 8). Notifies DreamRaceManager when a DreamRaceCar passes through.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
checkpoint_index, gizmo_colorcar_passedruntime/dream_race_checkpoint.gd
DreamRaceTrackNode3DAdvanced / genre-specificNode3D container that holds ordered DreamRaceCheckpoints and provides the track path for AI navigation. Ordered array of DreamRaceCheckpoint NodePaths for this track.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
checkpoints, total_laps, track_nameruntime/dream_race_track.gd
DreamRaceManagerNodeAdvanced / genre-specificCoordinates all racers, lap state, and race clock. Place one DreamRaceManager in each race scene.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
race_config, auto_start, count_down_timerace_started, race_finished, lap_completed, checkpoint_passed, positions_updatedruntime/dream_race_manager.gd

#genre_rhythm custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamRhythmHUDCanvasLayerAdvanced / genre-specificjudgement display, combo, score, health, accuracy.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
lanes, lane_width, judgement_line_y, note_approach_speed, lane_bg_color, lane_border_color, judgement_line_color, judgement_line_thickness, score_font_size, score_color, combo_font_size, combo_colorhud_readyruntime/ui/rhythm_hud.gd
DreamRhythmEngineNodeAdvanced / genre-specificCore runtime for rhythm games. Handles BPM sync, note spawning, input judgement, scoring, health, grade calculation.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
audio_player_path, audio_offset_ms, perfect_window, great_window, good_window, miss_window, perfect_score, great_score, good_score, combo_multiplier_thresholds, combo_multiplier_values, max_healthnote_spawned, note_judged, combo_changed, score_changed, health_changed, song_started, song_ended, beat_pulseruntime/rhythm/rhythm_engine.gd

#genre_roguelike custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamRoguelikeManagerNodeAdvanced / genre-specificprogression.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
max_floors, rooms_per_floor_min, rooms_per_floor_max, starting_hp, starting_gold, perk_choices, loot_table, gold_per_room_min, gold_per_room_max, hp_scale_per_floor, damage_scale_per_floor, enemy_count_scalerun_started, floor_entered, room_entered, room_cleared, perk_offered, perk_chosen, loot_dropped, boss_spawnedruntime/roguelike/roguelike_manager.gd

#genre_runner custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamEndlessRunnerNodeAdvanced / genre-specificRunner games. Manages chunk spawning, obstacle generation, lane switching, speed curves, scoring.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
runner_mode, lane_count, lane_width, starting_speed, max_speed, acceleration, speed_curve, chunk_length, obstacle_interval_min, obstacle_interval_max, collectible_chance, difficulty_ramp_distancechunk_spawned, obstacle_spawned, collectible_spawned, lane_changed, speed_changed, distance_changed, score_changed, player_hitruntime/runner/endless_runner.gd

#genre_shmup custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamShmupManagerNodeAdvanced / genre-specificups, bombs, scoring, bosses.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
scroll_mode, scroll_speed, auto_scroll, starting_lives, starting_bombs, respawn_invincibility, graze_radius, graze_score_bonus, base_multiplier, max_multiplier, multiplier_gain_per_kill, multiplier_loss_on_hitwave_started, wave_cleared, enemy_spawned, enemy_destroyed, powerup_collected, bomb_used, boss_phase_changed, graze_detectedruntime/shmup/shmup_manager.gd

#genre_simulation custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamSimulationMgrNodeAdvanced / genre-specificCore runtime for Simulation / Tycoon / Management games. Manages economy ticks, buildings, staff, happiness, research, random events.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
starting_funds, tick_interval, tax_rate, loan_interest, max_buildings, grid_size, max_staff, base_happiness, happiness_decay_rate, min_happiness_for_income, event_chance_per_tick, random_eventseconomy_ticked, building_placed, building_upgraded, building_removed, staff_hired, staff_fired, happiness_changed, research_completedruntime/simulation/simulation_manager.gd

#genre_sports custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamSportsManagerNodeAdvanced / genre-specificaddons/dreamcatcher/runtime/sports/sports_manager.gd Core sports game runtime â€" match state, scoring, timer, teams, fouls. Generic enough for soccer, basketball, tennis, hockey, etc.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
sport_type, match_duration, periods, allow_overtime, overtime_duration, time_scale, max_fouls_before_ejection, enable_offside, enable_substitutions, max_substitutions, ai_difficulty, stamina_drain_ratematch_started, match_ended, goal_scored, period_changed, half_time, overtime_started, foul_called, possession_changedruntime/sports/sports_manager.gd
DreamSportsHUDCanvasLayerAdvanced / genre-specificscoreboard, timer, possession, minimap, stamina. Generic for soccer, basketball, tennis, hockey.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
sport_type, show_minimap, show_stamina, scoreboard_bg_color, scoreboard_corner_radius, scoreboard_border_width, scoreboard_border_color, scoreboard_width, scoreboard_height, team_name_size, team_name_color, score_font_sizehud_readyruntime/ui/sports_hud.gd
DreamBallRigidBody3DAdvanced / genre-specificaddons/dreamcatcher/runtime/sports/dream_ball.gd Sports ball physics â€" works for soccer, basketball, tennis, volleyball, etc. Handles bouncing, spin (Magnus effect), rolling friction, goal detection. Supports both 3D (RigidBody3D) and can be extended for 2D.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
ball_type, max_speed, spin_decay, rolling_friction, air_drag, bounce_factor, magnus_strength, field_bounds, goal_area_home, goal_area_away, trail_enabled, trail_colorgoal_detected, out_of_bounds, ball_touched, ball_bouncedruntime/sports/dream_ball.gd
DreamBall2DRigidBody2DAdvanced / genre-specificdown soccer, side-view tennis/volleyball.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
ball_type, max_speed, rolling_friction, bounce_factor, spin_strength, field_rect, goal_home_rect, goal_away_rectgoal_detected, out_of_bounds, ball_touchedruntime/sports/dream_ball_2d.gd
DreamTeamAINodeAdvanced / genre-specificaddons/dreamcatcher/runtime/sports/dream_team_ai.gd Team AI for sports games â€" formation positioning, passing lanes, pressure, marking. Works for soccer, basketball, hockey, and any team sport.
Connection: Use when a tool/template/tutorial asks for this runtime helper.
team_id, formation_id, aggression, press_intensity, offside_line_enabled, field_center, field_half_size, attacking_directionplayer_repositioned, pass_target_found, formation_changedruntime/sports/dream_team_ai.gd

#genre_stealth custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamStealthManagerNodeAdvanced / genre-specificaddons/dreamcatcher/runtime/stealth/stealth_manager.gd DreamStealthManager â€" Core runtime for stealth/tactics games. Handles detection states, alert levels, line of sight, noise propagation, patrol routes, stealth kills, disguises, and distraction mechanics.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
detection_speed, detection_decay_speed, suspicious_threshold, alert_threshold, light_affects_detection, default_view_distance, default_fov, peripheral_fov, peripheral_detection_mult, footstep_noise_radius, sprint_noise_mult, crouch_noise_multdetection_changed, alert_state_changed, guard_alerted, guard_searching, guard_returned_to_patrol, stealth_kill, noise_created, disguise_changedruntime/stealth/stealth_manager.gd

#genre_survival custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamSurvivalManagerNodeAdvanced / genre-specificaddons/dreamcatcher/runtime/survival/survival_manager.gd DreamSurvivalManager â€" Core runtime for survival games. Handles hunger, thirst, temperature, stamina drain, crafting queues, shelter/exposure, status conditions, and resource gathering.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
max_hunger, starting_hunger, hunger_drain_rate, starvation_damage_rate, hunger_sprint_mult, max_thirst, starting_thirst, thirst_drain_rate, dehydration_damage_rate, thirst_heat_mult, comfortable_min, comfortable_maxhunger_changed, thirst_changed, temperature_changed, stamina_changed, status_applied, status_removed, need_critical, player_starvingruntime/survival/survival_manager.gd

#genre_td custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamTDOverlayCanvasLayerAdvanced / genre-specificwave info, gold, lives, tower selection, upgrade panel.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
tower_palette, top_bar_bg_color, top_bar_height, top_bar_padding, info_font_size, info_color, gold_color, lives_color, wave_color, palette_bg_color, palette_corner_radius, tower_cell_sizetower_selected, tower_sold, wave_start_requested, ability_usedruntime/ui/td_overlay.gd
DreamTDManagerNodeAdvanced / genre-specificCore runtime for Tower Defense games. Manages wave spawning, economy, tower placement, enemy pathing, lives.
Connection: Scene or game-mode manager; use one per relevant mode/scene, not per object.
starting_gold, starting_lives, sell_rate, interest_rate, gold_per_kill_base, total_waves, wave_cooldown, auto_start_waves, spawn_interval, hp_scale_per_wave, speed_scale_per_wave, count_scale_per_wavewave_started, wave_completed, enemy_spawned, enemy_killed, enemy_leaked, tower_placed, tower_upgraded, tower_soldruntime/td/tower_defense_manager.gd

#genre_vn custom nodes

TypeGodot baseLevelWhat it is / when to useKey Inspector fieldsSignalsScript
DreamGalleryViewerCanvasLayerAdvanced / genre-specificVisual Novel / RPG essential. Tracks unlocked CGs, displays fullscreen with navigation.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
gallery_data, columns, thumbnail_size, locked_placeholder, panel_bg_color, panel_corner_radius, panel_border_width, panel_border_color, panel_padding, title_font_size, title_color, caption_font_sizegallery_opened, gallery_closed, cg_unlocked, cg_viewedruntime/ui/gallery_viewer.gd
DreamTextBacklogCanvasLayerAdvanced / genre-specificEssential for Visual Novels and dialogue-heavy games. Stores all dialogue lines and lets player scroll back through history.
Connection: Connect from UI Builder, dialogue, combat, quest, or HUD update logic.
max_entries, open_action, font_size, speaker_color, text_color, timestamp_color, panel_bg_color, panel_corner_radius, panel_border_width, panel_border_color, close_button_color, close_button_font_sizebacklog_opened, backlog_closedruntime/ui/text_backlog.gd

#Complete Visual Logic node reference

This generated appendix covers 291 physical Visual Logic node scripts found under addons/dreamcatcher/core/logic/nodes/. It is a searchable public reference for node IDs, titles, categories, ports, properties, and typical use.

CategoryNodes
Math28
Data24
Flow Control20
Scene17
AI13
Animation11
🏎️ Racing (Intents)10
👻 Horror (Intents)10
Audio9
Save & Scene9
Visual Novel8
Ecosystem7
Narrative7
Engine Core6
Input6
Inventory6
AI Behavior5
Narrative & FX5
Quest & Progression5
Quick Time Events5
String5
Engine Bridge4
Events4
Quest4
Scene & Nodes4
Time & World4
Type4
AI & Navigation3
AI / Perception3
Scene & Node Management3
UI3
🃏 Card Game (Intents)3
🌾 Farm (Intents)3
🎮 Platformer (Intents)3
🏕️ Survival (Intents)3
📖 Visual Novel (Intents)3
🗡️ Action RPG (Intents)3
🥷 Stealth (Intents)3
AI / Memory2
AI / Tactical2
Combat2
World2
Zero-Code Actions2
🌟 Zero-Code Actions2
AI / Advanced1
Game Manager1
Save1
Save / Load1
State Machine1
🌟 Auto-Templates1

#Math Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
logic_andAND Logic: ANDBoolean AND of two inputs.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (bool), B (bool)Result (bool)A, B
logic_notNOT Logic: NOTBoolean negation of input.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (bool)Result (bool)A
logic_orOR Logic: ORBoolean OR of two inputs.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (bool), B (bool)Result (bool)A, B
logic_xorXOR Logic: XORBoolean exclusive-or of two inputs.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (bool), B (bool)Result (bool)A, B
math_abs| | Math AbsReturns the absolute value of the input.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
Value (float)Result (float)Value
math_add+ Math AddOutputs A + B.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float), B (float)Result (float)A, B
math_ceil⌈⌉ Math CeilReturns ceil(Value) as an int.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
Value (float)Result (int)Value
math_clamp⧗ Math ClampClamps Value between Min and Max.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
Value (float), Min (float), Max (float)Result (float)Value, Min, Max
math_divide÷ Math DivideOutputs A / B. Returns 0 on division by zero (safe).
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float), B (float)Result (float)A, B
math_floor⌊⌋ Math FloorReturns floor(Value) as an int.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
Value (float)Result (int)Value
math_lerp↔ Math LerpLinear interpolation: From + (To - From) * Weight.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
From (float), To (float), Weight (float)Result (float)From, To, Weight
math_max↑ Math MaxReturns the larger of A and B.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float), B (float)Result (float)A, B
math_min↓ Math MinReturns the smaller of A and B.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float), B (float)Result (float)A, B
math_modulo% Math ModuloOutputs A % B (remainder). Returns 0 on division by zero.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float), B (float)Result (float)A, B
math_multiplyx Math MultiplyOutputs A * B.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float), B (float)Result (float)A, B
math_negate- Math NegateOutputs -A (flips sign).
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float)Result (float)A
math_powxⁿ Math: PowerRaises base to the power of exponent.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
Base (float), Exponent (float)Result (float)Base, Exponent
math_random_range🎲 Random RangeReturns a random float in [Min, Max].
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
Min (float), Max (float)Result (float)Min, Max
math_round~ Math RoundReturns round(Value) as an int.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
Value (float)Result (int)Value
math_sign± Math SignOutputs -1, 0, or 1 based on the sign of A.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float)Result (float)A
math_sqrt√ Math SqrtOutputs the square root of A.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float)Result (float)A
math_subtract− Math SubtractOutputs A - B.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float), B (float)Result (float)A, B
eval_mathEvaluate MathUse this node when a Visual Logic graph needs the Evaluate Math action or condition.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
Result (float)Formula
math_addAdd (Float)Use this node when a Visual Logic graph needs the Add (Float) action or condition.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
A (float), B (float)Result (float)
vector2_make↗ Vector2: MakeConstructs a Vector2 from X, Y inputs.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
X (float), Y (float)Vector2 (vector2)X, Y
vector3_distance📏 Vector3: DistanceReturns the world-space distance between two Node3D nodes.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
Node A (object), Node B (object)Distance (float)Node A Path, Node B Path
vector3_lerp↔ Vector3: LerpInterpolates between two Vector3 positions.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
From (variant), To (variant), Weight (float)Result (variant)From, To, Weight
vector3_make🧭 Vector3: MakeConstructs a Vector3 from X, Y, Z inputs.
Typical use: Calculate values used by conditions, movement, damage, UI, or data logic.
X (float), Y (float), Z (float)Vector3 (vector3)X, Y, Z

#Data Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
array_contains[] Array: ContainsTests whether an Array contains a given value.
Typical use: Read, write, compare, or transform values carried through the graph.
Array (variant), Search For (variant)Contains (bool), Index (int)Search For
array_get[] Array: GetReturns the element at Index from an Array.
Typical use: Read, write, compare, or transform values carried through the graph.
Array (variant), Index (int)Element (variant), Is Valid (bool)Index
array_pop[] Array: PopRemoves and outputs the last element of an Array stored in a Blackboard key.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec)▶ (exec), Element (variant), Is Valid (bool)Array Key
array_push[] Array: PushAppends a value to an Array stored in a Blackboard key.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), Item to Add (variant)▶ (exec), New Size (int)Array Key
array_remove🗑️ Array: RemoveRemoves the first occurrence of Value from an Array.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), Array (variant), Item to Remove (variant)▶ (exec), Array (variant)
array_reverse🔃 Array: ReverseReverses an Array and outputs the result.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), Array (variant)▶ (exec), Reversed (variant)
array_set📝 Array: Set AtSets the element at Index in an Array to Value.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), Array (variant), Index (int), New Element (variant)▶ (exec), Array (variant)Index
array_size[] Array: SizeOutputs the element count of an Array stored in a Blackboard key.
Typical use: Read, write, compare, or transform values carried through the graph.
Array (variant)Count (int), Is Empty (bool)Array Key
array_sort🔢 Array: SortSorts an Array in ascending order and outputs the result.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), Array (variant)▶ (exec), Sorted (variant)
blackboard_get📋 Blackboard GetReads a value from the sequence execution blackboard.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec)▶ Found (exec), ▶ Missing (exec), Result (variant)Key, Default
blackboard_set📋 Blackboard SetWrites a value to the sequence execution blackboard.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), New Value (variant)▶ (exec)Key
dict_get{} Dict: GetGets a value by key from a Dictionary stored in the Blackboard.
Typical use: Read, write, compare, or transform values carried through the graph.
Dict (variant)Result (variant), Has Key (bool)Dict Key, Entry Key, Default
dict_has_key🔑 Dict: Has KeyChecks if a Dictionary contains a specific key.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), Dict (variant), Key (string)▶ Found (exec), ▶ Not Found (exec), Result (bool)Key
dict_keys🗝️ Dict: KeysOutputs an Array of all keys in a Dictionary.
Typical use: Read, write, compare, or transform values carried through the graph.
Dict (variant)Keys (variant)
dict_merge🔗 Dict: MergeMerges Dict B into Dict A (B overwrites duplicates).
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), Dict A (variant), Dict B (variant)▶ (exec), Merged (variant)
dict_remove🗑️ Dict: RemoveRemoves a key-value pair from a Dictionary.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), Dict (variant), Key (string)▶ (exec), Dict (variant)Key
dict_set{} Dict: SetSets a key-value pair in a Dictionary stored in the Blackboard.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec), New Value (variant)▶ (exec)Dict Key, Entry Key
dict_size📏 Dict: SizeOutputs the number of key-value pairs in a Dictionary.
Typical use: Read, write, compare, or transform values carried through the graph.
Dict (variant)Size (int)
dict_values📋 Dict: ValuesOutputs an Array of all values in a Dictionary.
Typical use: Read, write, compare, or transform values carried through the graph.
Dict (variant)Values (variant)
flag_get🚩 Flag GetReads a boolean flag value from DreamCore and outputs it.
Typical use: Read, write, compare, or transform values carried through the graph.
▶ (exec)▶ True (exec), ▶ False (exec), Flag State (bool)Flag Name
string_concat✏️ String: ConcatConcatenates two strings with an optional separator.
Typical use: Read, write, compare, or transform values carried through the graph.
A (string), B (string)Result (string)A, B, Separator
string_format📝 String FormatReplaces {0}, {1}, {2} placeholders with input values. E.g.: "Score: {0} / {1}" with inputs 42 and 100 → "Score: 42 / 100"
Typical use: Read, write, compare, or transform values carried through the graph.
Arg 0 (variant), Arg 1 (variant), Arg 2 (variant)Result (string)Template
string_split✂️ String: SplitSplits a string by a delimiter, outputs an Array of substrings.
Typical use: Read, write, compare, or transform values carried through the graph.
String (string)Parts Array (variant), Count (int)Delimiter, Allow Empty
type_convert🔄 Type ConvertConverts any input value to string, int, float, or bool.
Typical use: Read, write, compare, or transform values carried through the graph.
Value (variant)Result (variant)Target Type

#Flow Control Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
compare_equal== Compare EqualBranches if A equals B (string comparison).
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec), A (variant), B (variant)▶ Equal (exec), ▶ Not Equal (exec), Result (bool)A, B
compare_greater> Compare GreaterBranches if A > B (numeric).
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec), A (float), B (float)▶ True (exec), ▶ False (exec), Result (bool)A, B
compare_greater_equal>= Compare Greater/EqualBranches if A >= B (numeric).
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec), A (float), B (float)▶ True (exec), ▶ False (exec), Result (bool)A, B
compare_less< Compare LessBranches if A < B (numeric).
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec), A (float), B (float)▶ True (exec), ▶ False (exec), Result (bool)A, B
compare_less_equal<= Compare Less/EqualBranches if A <= B (numeric).
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec), A (float), B (float)▶ True (exec), ▶ False (exec), Result (bool)A, B
compare_not_equal!= Compare Not EqualBranches if A does NOT equal B.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec), A (variant), B (variant)▶ Not Equal (exec), ▶ Equal (exec), Result (bool)A, B
cooldown⏱️ CooldownBlocks re-execution for a set duration after the first trigger. Re-arms automatically.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec)▶ Ready (exec), ▶ On Cooldown (exec), Remaining (float)Duration, Cooldown Key
foreach_loop🔄 ForEach LoopIterates over every element in an Array, outputting each element in turn.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec), Array (variant)▶ Each (exec), ▶ Done (exec), Element (variant), Index (int)Max Iterations
gate🚪 GatePasses execution only when an internal boolean is true; open/close ports toggle it.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ Enter (exec), ▶ Open (exec), ▶ Close (exec), ▶ Toggle (exec)▶ Pass (exec), ▶ Blocked (exec), Is Open (bool)Start Open, Gate Key
branchBranch (If/Else)Use this node when a Visual Logic graph needs the Branch (If/Else) action or condition.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
In (exec), Condition (Opt) (bool)True (exec), False (exec)Condition Variable
delayWait (Seconds)Use this node when a Visual Logic graph needs the Wait (Seconds) action or condition.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
In (exec)Out (exec)Seconds
for_loopFor Loopaddons/dreamcatcher/core/logic/nodes/node_for_loop.gd Iterates N times, outputting the loop index each iteration. Usage: connect "Loop Body ▶" to your body nodes, then wire the body's last node back to this node's "In" port to complete the loop cycle. The loop
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
In (exec), Count (int)Loop Body ▶ (exec), ✅ Done ▶ (exec), Index (int)Count
random_chanceRandom ChanceUse this node when a Visual Logic graph needs the Random Chance action or condition.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
In (exec)Success (exec), Failure (exec)Success % (0-100)
parallel⚡ ParallelFires all connected output ports simultaneously (non-sequential execution). NOTE: In a linear VM, this fires outputs in order but does not await each.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec)▶ 1 (exec), ▶ 2 (exec), ▶ 3 (exec), ▶ 4 (exec)Port Count
random_branch🎲 Random BranchRoutes to one of N ports with equal or weighted probability.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec)▶ A (exec), ▶ B (exec), ▶ C (exec), ▶ D (exec)Weight A, Weight B, Weight C, Weight D, Port Count
random_chance_ext🎲 Random ChanceRandomly routes execution to True or False branch. Probability is a float 0.0-1.0 (0.7 = 70% chance of True branch).
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec), Probability (float)▶ True (exec), ▶ False (exec), Roll (float)Probability
retry🔁 RetryRe-executes the inner sequence up to N times until the success port is fired.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ Try (exec), ▶ Succeed (exec), ▶ Fail (exec)▶ Attempt (exec), ▶ Succeeded (exec), ▶ Exhausted (exec), Attempts Left (int)Max Retries, Retry Key
switch_case🔀 Switch / CaseRoutes execution to one of up to 8 labelled ports based on a string/int key.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ (exec), Test Value (variant)▶ Case A (exec), ▶ Case B (exec), ▶ Case C (exec), ▶ Case D (exec), ▶ Default (exec)Case A, Case B, Case C, Case D
timeout_race⌛ Timeout RaceFires the timeout port if an inner sub-sequence does not complete within N seconds. Uses a real SceneTree timer; safe for game use.
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
▶ Start (exec), ▶ Complete (exec)▶ Success (exec), ▶ Timeout (exec)Timeout Seconds, Race Key
while_loopWhile LoopRepeats the Loop Body branch while a condition is true. Condition is evaluated by reading the "Condition" boolean property or a boolean wire on port 1. Loop exits to Done when condition is false. Built-in safety: max 500 iterations per tick to prevent engine f
Typical use: Control graph execution order, branching, repeats, waits, or conditions.
In (exec), Condition (bool)Loop Body ▶ (exec), ✅ Done ▶ (exec)Condition, Max Iterations

#Scene Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
connect_signal🔗 Connect SignalConnects a node signal to a DreamSequence graph at runtime.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Source Node (object)▶ Connected (exec), ▶ Failed (exec)Signal Name, Sequence Path
emit_signal📡 Emit SignalEmits a named signal on a target node with up to 3 arguments.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Target (object), Arg 1 (variant), Arg 2 (variant)▶ (exec)Signal Name
find_nearest🔍 Find NearestFinds the nearest node in a group to a reference position.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Origin (variant)▶ Found (exec), ▶ Not Found (exec), Target (variant), Distance (float)Group, Max Range
get_node_by_path🔍 Get Node By PathReturns a Node reference from a NodePath string, relative to scene root.
Typical use: Read, change, spawn, or manage Godot scene/node state.
Path Override (string)Node (object), Is Valid (bool)Node Path
group_add➕ Group AddAdds a node to a named group.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Node (variant)▶ (exec)Group, Persistent
group_remove➖ Group RemoveRemoves a node from a named group.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Node (variant)▶ (exec)Group
move_to_position🏃 Move To PositionMoves a CharacterBody3D toward a Vector3 target at a set speed each frame.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Actor (object), Target Pos (vector3)▶ Moving (exec), ▶ Arrived (exec)Speed, Arrival Threshold, Target X, Target Y, Target Z
node_add_child➕ Add ChildAdds a child node to a parent node at runtime.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Parent (variant), Child (variant)▶ Done (exec), ▶ Failed (exec)
node_find_by_name🔎 Find by NameFinds a node anywhere in the scene tree by name.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec)▶ Found (exec), ▶ Not Found (exec), Node (variant)Name, Search From Root
node_find_in_group👥 Find in GroupReturns all nodes in a given group as an Array.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec)▶ Found (exec), ▶ Empty (exec), Nodes Array (variant), Count (int)Group
node_get_child↓ Get ChildReturns a child node by name or index.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Node (variant)▶ Found (exec), ▶ None (exec), Child (variant)Name or Index
node_get_parent↑ Get ParentReturns the parent node of a given node.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Node (variant)▶ Found (exec), ▶ None (exec), Parent (variant)
node_remove_child➖ Remove ChildRemoves a child node from its parent.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Child (variant)▶ Done (exec), ▶ Failed (exec)Free After
node_set_visible👁 Set VisibleShows or hides a CanvasItem or Node3D.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Node (variant)▶ (exec)Visible
raycast_3d📡 Raycast 3DFires a physics ray from an origin toward a direction, outputs hit node and position.
Typical use: Read, change, spawn, or manage Godot scene/node state.
Origin (object), Direction (vector3)▶ Hit (exec), ▶ Miss (exec), Hit Node (object), Hit Position (vector3), Hit Normal (vector3)Max Distance, Collision Mask, Direction X, Direction Y, Direction Z
set_process⚙️ Set ProcessEnables or disables _process / _physics_process on a target node.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Target (object), Enabled (bool)▶ (exec)Mode, Enabled
set_visible👁 Set VisibleShows or hides a CanvasItem (2D) or Node3D (3D).
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Target (object), Visible (bool)▶ (exec)Visible

#AI Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
ai_chase🏃 AI Chase TargetActor pursues a target using movement. Stops at attack range.
Typical use: Prototype AI behavior or perception step for ai chase.
▶ (exec), Target (object)▶ Chasing (exec), ▶ In Range (exec), ▶ Lost Target (exec), Distance (float)Speed, Attack Range, Give Up Distance
ai_flee🏃‍♂️ AI Flee From DangerActor runs away from a threat. Finds the safest direction.
Typical use: Prototype AI behavior or perception step for ai flee.
▶ (exec), Threat (object)▶ Fleeing (exec), ▶ Safe (exec)Speed, Safe Distance
ai_look_at👀 AI Look At TargetSmoothly rotates the actor to face a target or position.
Typical use: Prototype AI behavior or perception step for ai look at.
▶ (exec), Target (object)▶ (exec), ▶ Facing (exec)Turn Speed
ai_navigate_to🧭 AI Navigate To PositionUses NavigationServer pathfinding to move to a world position.
Typical use: Prototype AI behavior or perception step for ai navigate to.
▶ (exec), Target Pos (vector3)▶ Moving (exec), ▶ Arrived (exec), ▶ Failed (exec)Speed, Arrive Threshold
ai_patrol🛡️ AI Patrol RouteActor walks between waypoints in order. Loops or ping-pongs.
Typical use: Prototype AI behavior or perception step for ai patrol.
▶ (exec)▶ Moving (exec), ▶ Reached Point (exec), Current WP (int)Waypoints, Speed, Wait Time, Loop Mode
ai_wander🚶 AI Wander RandomlyMoves actor to random positions within a radius. Idle NPC behavior.
Typical use: Prototype AI behavior or perception step for ai wander.
▶ (exec)▶ Walking (exec), ▶ Arrived (exec)Radius, Speed, Pause Min, Pause Max
bt_invert🔄 BT: InvertLogic node: Inverts the success/failure result of the child subtree.
Typical use: Prototype AI behavior or perception step for bt invert.
▶ Success In (exec), ▶ Failure In (exec)▶ Inverted Success (exec), ▶ Inverted Failure (exec)
bt_parallel⚡ BT: ParallelLogic node: Runs all BT children simultaneously and outputs result.
Typical use: Prototype AI behavior or perception step for bt parallel.
▶ (exec), Actor (object)▶ All Success (exec), ▶ Any Failure (exec)Child Count
face_target👀 Face TargetSmoothly rotates a Node3D to face a target node or position.
Typical use: Prototype AI behavior or perception step for face target.
▶ (exec), Actor (object), Target (object)▶ (exec)Turn Speed, Instant, Lock Y Axis
flee_from💨 Flee FromMoves an actor directly away from a target position at maximum speed.
Typical use: Prototype AI behavior or perception step for flee from.
▶ (exec), Actor (object), Threat (object)▶ Fleeing (exec), ▶ Safe (exec), Distance (float)Speed, Safe Distance
patrol_next_point🗺️ Patrol: Next PointAdvances an actor to the next waypoint in a DreamNavPath.
Typical use: Prototype AI behavior or perception step for patrol next point.
▶ (exec), Actor (object), NavPath (object)▶ Moving (exec), ▶ Loop Complete (exec), Target Pos (vector3)Loop, Patrol Key
sense_player👁 Sense PlayerSets 'player_visible' and 'player_distance' on the actor's blackboard using a sight cone raycast and distance check.
Typical use: Prototype AI behavior or perception step for sense player.
▶ (exec), Actor (object)▶ Can See (exec), ▶ Cannot See (exec), Distance (float)Sight Range, Sight Angle, Hearing Range, Collision Mask
squad_order📢 Squad OrderBroadcasts an order string to all squad members in a named DreamCore group. Sets 'squad_order' on each member's blackboard and optionally calls a method.
Typical use: Prototype AI behavior or perception step for squad order.
▶ (exec), Leader (object)▶ (exec), Member Count (int)Order, Squad Group, Method Name

#Animation Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
anim_awaitAnimation: Await FinishedUse this node when a Visual Logic graph needs the Animation: Await Finished action or condition.
Typical use: Use when the graph needs the anim await step.
▶ (exec), Target (Opt) (object)▶ (exec)Timeout (s)
anim_play▶ Anim: PlayPlays a named animation on the target's AnimationPlayer or AnimationTree.
Typical use: Use when the graph needs the anim play step.
▶ (exec), Target (object)▶ (exec)Animation Name, Blend Time, Speed Scale
anim_stop⏹ Anim: StopStops the AnimationPlayer on the target node.
Typical use: Use when the graph needs the anim stop step.
▶ (exec), Target (object)▶ (exec)Keep Pose
anim_tree_set🌳 AnimTree: Set ParamSets a parameter on an AnimationTree blend/state machine.
Typical use: Use when the graph needs the anim tree set step.
▶ (exec), Target Node (object), Blend Value (variant)▶ (exec)Parameter Path, Blend Value
camera_shake📷 Camera ShakeShakes the active Camera3D or DreamCamera3D for a duration.
Typical use: Use when the graph needs the camera shake step.
▶ (exec)▶ (exec)Duration, Intensity, Frequency
camera_zoom🔭 Camera: ZoomSmoothly zooms the active DreamCamera3D to a target FOV value.
Typical use: Use when the graph needs the camera zoom step.
▶ (exec), Camera (Opt) (object), Target FOV (float)▶ (exec)Target FOV, Duration, Ease
post_process_set🎨 Post Process: SetAdjusts WorldEnvironment post-processing parameters at runtime. Keys: vignette_amount, chromatic_aberration, desaturation, dof_blur, brightness.
Typical use: Use when the graph needs the post process set step.
▶ (exec), Effect Value (float)▶ (exec)Effect Name, Effect Value, Transition (sec)
screen_flash⚡ Screen FlashCreates a brief full-screen color flash overlay.
Typical use: Use when the graph needs the screen flash step.
▶ (exec)▶ Done (exec)Color, Duration
slow_motion⏱️ Slow MotionSets Engine.time_scale to create a slow-motion effect, then restores it after a duration. Ideal for parry windows and impact moments.
Typical use: Use when the graph needs the slow motion step.
▶ (exec)▶ Done (exec)Time Scale, Duration
tween_property_ext🎞️ Tween PropertyAnimates a property on a target node from current to End value.
Typical use: Use when the graph needs the tween property ext step.
▶ (exec), Target (object)▶ Done (exec)Property, End Value, Duration, Easing, Loop
vfx_spawn✨ VFX: SpawnSpawns a GPU particle effect at a world position from a key in the VFX library or by direct scene path.
Typical use: Use when the graph needs the vfx spawn step.
▶ (exec), Position (object)▶ (exec), VFX Node (object)VFX Path, Duration, One Shot

#🏎️ Racing (Intents) Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_race_accelerate🏎️ Race: AccelerateRacing Intent: Accelerate Applies engine force to a VehicleBody3D based on throttle input (0..1). Respects max_speed and current traction from DreamCore variables.
Typical use: Use when the graph needs the intent race accelerate step.
▶ (exec), Car (object), Throttle (0-1) (float)▶ (exec)Engine Force, Max Speed
intent_race_brake🛑 Race: Brake / HandbrakeRacing Intent: Brake Applies brake force to a VehicleBody3D. Sets handbrake flag used by drift system.
Typical use: Use when the graph needs the intent race brake step.
▶ (exec), Car (object), Handbrake (bool)▶ (exec)Brake Force, Handbrake
intent_race_checkpoint📍 Race: Validate CheckpointRacing Intent: Validate Checkpoint Validates checkpoint crossing order, records split time, fires checkpoint_passed signal.
Typical use: Use when the graph needs the intent race checkpoint step.
▶ (exec), Car (object), Checkpoint Index (int)▶ Valid (exec), ▶ Invalid (Wrong Order) (exec), Split Time (float)Checkpoint Index
intent_race_collision💥 Race: Handle Collisionto-car and car-to-wall collisions -- applies stun timer, speed penalty, and optional damage.
Typical use: Use when the graph needs the intent race collision step.
▶ (exec), Car (object), Impact Velocity (float)▶ Light Hit (exec), ▶ Hard Hit (exec)Hard Hit Threshold, Speed Penalty, Stun Duration, Enable Damage
intent_race_drift💨 Race: Driftreduces rear wheel traction, adds angular yaw impulse, accumulates drift_score variable in DreamCore.
Typical use: Use when the graph needs the intent race drift step.
▶ Start Drift (exec), ▶ End Drift (exec), Car (object)▶ (exec), Drift Score (float)Drift Traction, Score Per Second
intent_race_lap_complete🏁 Race: Lap CompleteRacing Intent: Lap Complete Increments lap counter, stores lap time, checks final lap, fires race_finished signal.
Typical use: Use when the graph needs the intent race lap complete step.
▶ (exec), Car (object)▶ Continue (exec), ▶ Race Finished! (exec), Current Lap (int), Lap Time (float)Total Laps
intent_race_nitro⚡ Race: Nitro BoostRacing Intent: Nitro Boost Applies temporary speed boost. Consumes nitro_charge variable. Fires nitro_empty at 0.
Typical use: Use when the graph needs the intent race nitro step.
▶ (exec), Car (object)▶ Boosting (exec), ▶ Nitro Empty (exec), Charge Remaining (float)Nitro Force, Consume Rate, Max Charge
intent_race_position🏆 Race: Calculate PositionRacing Intent: Calculate Position Calculates and outputs current race position (1st, 2nd...) by comparing checkpoint + lap progress among all registered race cars.
Typical use: Use when the graph needs the intent race position step.
▶ (exec), Car (object)▶ (exec), Position (1st=1) (int)
intent_race_rubberband🔗 Race: Rubber-band AIband AI Adjusts AI racer top speed based on position gap to the leader. Closer to leader = slower AI; further = faster. Creates catch-up mechanics.
Typical use: Use when the graph needs the intent race rubberband step.
▶ (exec), AI Car (object)▶ (exec), Adjusted Speed (float)Base Speed, Rubberband Strength, Max Speed Bonus, Min Speed Ratio
intent_race_steer🔄 Race: Steer1..1 input.
Typical use: Use when the graph needs the intent race steer step.
▶ (exec), Car (object), Steer (-1 to 1) (float)▶ (exec)Max Steer Angle, Steer Speed

#👻 Horror (Intents) Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_horror_blackout⬛ Horror: Blackoutskip scare events.
Typical use: Use when the graph needs the intent horror blackout step.
▶ (exec)▶ After Blackout (exec)Fade In Duration, Hold Duration, Fade Out Duration
intent_horror_hallucination👁️ Horror: Hallucinationspawns phantom actor, distorts audio, applies heavy post-process for a random duration.
Typical use: Use when the graph needs the intent horror hallucination step.
▶ (exec)▶ Start (exec), ▶ End (exec)Duration Min, Duration Max, Phantom Scene, Audio Distort
intent_horror_heartbeat❤️ Horror: HeartbeatHorror Intent: Heartbeat Sets the heartbeat rate on the HorrorOverlay widget. Rate = 0 disables the effect.
Typical use: Use when the graph needs the intent horror heartbeat step.
▶ (exec), Rate (BPS) (float)▶ (exec)Rate (BPS), Fade Out
intent_horror_inventory_limit🎒 Horror: Inventory LimitHorror Intent: Inventory Limit (Resident Evil style) Enforces a hard inventory slot cap. Fires inventory_full signal at capacity.
Typical use: Use when the graph needs the intent horror inventory limit step.
▶ (exec)▶ Space Available (exec), ▶ Inventory Full (exec), Slots Used (int), Max Slots (int)Max Slots
intent_horror_jumpscare😱 Horror: JumpscareHorror Intent: Jumpscare Plays stinger audio, fires white screen flash, heavy camera shake.
Typical use: Use when the graph needs the intent horror jumpscare step.
▶ (exec)▶ (exec)Stinger Path, Flash Duration, Shake Duration, Shake Intensity
intent_horror_monster_stalk🦇 Horror: Monster StalkHorror Intent: Monster Stalk Drives a monster actor toward player using NavigationAgent3D. Increases tension as distance decreases.
Typical use: Use when the graph needs the intent horror monster stalk step.
▶ (exec), Monster (object)▶ (exec), Distance (float)Stalk Speed, Tension Radius, Attack Radius
intent_horror_safe_room🏠 Horror: Safe Roomstops tension increase, restores sanity per second, plays safe ambient loop.
Typical use: Use when the graph needs the intent horror safe room step.
▶ Enter (exec), ▶ Exit (exec)▶ (exec)Sanity Restore Rate, Safe Ambient Path
intent_horror_sanity_drain🧠 Horror: Sanity DrainHorror Intent: Sanity Drain Reduces SANITY variable in DreamCore. Fires threshold events on crossing.
Typical use: Use when the graph needs the intent horror sanity drain step.
▶ (exec), Amount (float)▶ (exec), ▶ Threshold Crossed (exec), Sanity (float)Amount, Mild Threshold, Moderate Threshold, Severe Threshold
intent_horror_sanity_restore✨ Horror: Sanity RestoreHorror Intent: Sanity Restore Increases SANITY variable. Cancels hallucination if above moderate threshold.
Typical use: Use when the graph needs the intent horror sanity restore step.
▶ (exec), Amount (float)▶ (exec), Sanity (float)Amount, Sanity Max
intent_horror_tension😰 Horror: Tension1). Triggers music layer changes at threshold crossings.
Typical use: Use when the graph needs the intent horror tension step.
▶ (exec), Delta (float)▶ (exec), Tension (0-1) (float)Rate Per Second, Increasing

#Audio Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
ambient_loop_set🔊 Ambient Loop: SetStarts or stops an ambient audio loop via DreamAudio.
Typical use: Play, stop, route, or adjust audio during a logic flow.
▶ (exec)▶ (exec)Audio Path, Fade Time, Playing, Bus
audio_3d_play🔈 Audio 3D: PlayCreates a one-shot AudioStreamPlayer3D at a world position.
Typical use: Play, stop, route, or adjust audio during a logic flow.
▶ (exec), Position (object)▶ (exec)SFX Path, Max Distance, Volume dB
audio_bus_volume🔉 Audio: Bus VolumeSets the volume dB of a named audio bus.
Typical use: Play, stop, route, or adjust audio during a logic flow.
▶ (exec), Volume dB (float)▶ (exec)Bus Name, Volume dB, Transition
audio_play🔊 Play AudioGeneral-purpose audio playback node. Plays a sound file as SFX (via DreamAudio) or as a one-shot AudioStreamPlayer. Used by multiple templates (stealth, quiz, puzzle, RPG inn, etc.).
Typical use: Play, stop, route, or adjust audio during a logic flow.
▶ (exec)▶ (exec)Audio File Path, Volume, Pitch
audio_play_bgm🎵 Audio: Play BGMPlays background music via DreamAudio.
Typical use: Play, stop, route, or adjust audio during a logic flow.
▶ (exec)▶ (exec)Music Key, Fade In
audio_play_sfx🔊 Audio: Play SFXPlays a one-shot sound effect via DreamAudio.
Typical use: Play, stop, route, or adjust audio during a logic flow.
▶ (exec)▶ (exec)SFX Path, Volume dB
audio_stop_bgm⏹ Audio: Stop BGMFades out and stops the current background music.
Typical use: Play, stop, route, or adjust audio during a logic flow.
▶ (exec)▶ (exec)Fade Out
music_layer_add🎵 Music Layer: AddAdds (fades in) an audio layer on a bus. Designed for layered horror BGM; works with DreamAudio multi-layer system.
Typical use: Play, stop, route, or adjust audio during a logic flow.
▶ (exec)▶ (exec)Audio Path, Fade In, Layer ID
music_layer_remove🎵 Music Layer: RemoveFades out and removes a music layer.
Typical use: Play, stop, route, or adjust audio during a logic flow.
▶ (exec)▶ (exec)Fade Out, Layer ID

#Save & Scene Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
load_game📂 Load GameLoads the game state from the specified save slot.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec)▶ Loaded (exec), ▶ No Save (exec)Slot
save_game💾 Save Gameaddons/dreamcatcher/core/logic/nodes/node_save_game.gd Triggers DreamSave to write current state to an encrypted .dream file.
Typical use: Read, change, spawn, or manage Godot scene/node state.
In (exec)✅ Saved ▶ (exec), ❌ Failed ▶ (exec)Slot, Show Notification, Notification Text
scene_transitionScene Transitionaddons/dreamcatcher/core/logic/nodes/node_scene_transition.gd Calls DreamSceneManager.change_scene() with a fade transition.
Typical use: Read, change, spawn, or manage Godot scene/node state.
In (exec)Out (exec)Scene Path, Spawn Marker, Await Finish
save_game_core💾 Save Game (Core)Writes the current game state to the specified save slot.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec)▶ Saved (exec), ▶ Failed (exec)Slot, Show Notification
scene_flow_end_sceneScene Flow: End SceneGame-Maker-style "End Scene" node. Signals that the current scene is finished with an outcome string. DreamSceneFlowRuntime tries a labeled transition first, then falls back to the first connected scene in the Scene Flow graph. Examples: outcome = "win"
Typical use: Read, change, spawn, or manage Godot scene/node state.
In (exec), Outcome (string)Outcome
scene_flow_go_ifScene Flow: Go If (Label)addons/dreamcatcher/core/logic/nodes/scene_flow_go_if.gd Transitions to a connected scene by matching its label (designer note). Labels are set in the Scene Flow graph editor on each connection. Examples: label = "game_over" → finds the connection labeled "ga
Typical use: Read, change, spawn, or manage Godot scene/node state.
In (exec), Label (string)Out (exec)Label
scene_flow_go_nextScene Flow: Go Nextdefined scene connections.
Typical use: Read, change, spawn, or manage Godot scene/node state.
In (exec)Out (exec)Connection Index
scene_flow_go_toScene Flow: Go To Sceneaddons/dreamcatcher/core/logic/nodes/scene_flow_go_to.gd Transitions to a specific scene connected in the Scene Flow graph. Uses DreamSceneFlowRuntime to validate the connection exists.
Typical use: Read, change, spawn, or manage Godot scene/node state.
In (exec), Scene Path (string)Out (exec)Scene Path, Validate Flow
scene_transition_ext🔀 Scene TransitionChanges to a new scene with a fade-out / fade-in effect. Delegates to DreamSceneManager if available, otherwise uses get_tree().change_scene_to_file.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec)▶ (exec)Scene Path, Fade Duration, Save Before

#Visual Novel Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
vn_change_background🖼️ VN: Change BackgroundVisual script node to change VN background with transition.
Typical use: Use when the graph needs the vn change background step.
▶ (exec), Texture Path (string), Transition Type (int), Duration (float)▶ (exec)Texture Path, Transition Type, Duration
vn_change_expression😊 VN: Change ExpressionVisual script node to change a character's emotion/portrait.
Typical use: Use when the graph needs the vn change expression step.
▶ (exec), Character ID (string), Emotion (string)▶ (exec)Character ID, Emotion
vn_choice_timer⏱️ VN: Timed ChoiceVisual script node for timed choices in visual novels.
Typical use: Use when the graph needs the vn choice timer step.
▶ (exec), Choices (array), Time Limit (float), Default Choice (int)▶ (exec), Choice Index (int), Timed Out (bool)Time Limit, Default Choice
vn_hide_character🎭 VN: Hide CharacterVisual script node to hide a character bust from screen.
Typical use: Use when the graph needs the vn hide character step.
▶ (exec), Character ID (string), Exit Animation (int)▶ (exec)Character ID, Exit Animation
vn_narration📖 VN: NarrationVisual script node for full-screen narration text display.
Typical use: Use when the graph needs the vn narration step.
▶ (exec), Text (string), Position (int)▶ (exec)Text, Position
vn_scene_transition🔀 VN: Scene TransitionVisual script node for scene changes with visual effects.
Typical use: Use when the graph needs the vn scene transition step.
▶ (exec), Scene Path (string), Transition Type (int), Duration (float)▶ (exec)Scene Path, Transition Type, Duration
vn_screen_effect✨ VN: Screen EffectVisual script node for screen effects (flash, shake, fade).
Typical use: Use when the graph needs the vn screen effect step.
▶ (exec), Effect (string), Duration (float), Intensity (float)▶ (exec)Effect, Duration, Intensity
vn_show_character🎭 VN: Show CharacterVisual script node to display a character bust on screen.
Typical use: Use when the graph needs the vn show character step.
▶ (exec), Character ID (string), Position (int), Emotion (string), Enter Animation (int)▶ (exec)Character ID, Position, Emotion, Enter Animation

#Ecosystem Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
equip_item⚔️ Equip ItemEquips an item from inventory into a named slot via DreamEquipment.
Typical use: Use when the graph needs the equip item step.
▶ (exec)▶ (exec)Slot, Item ID
inventory_check🎒 Inventory: CheckChecks if DreamCore inventory contains at least N of an item.
Typical use: Use when the graph needs the inventory check step.
▶ (exec)▶ Has Item (exec), ▶ Missing (exec), Count (int)Item ID, Required Amount
inventory_remove🎒 Inventory: RemoveRemoves N units of an item from DreamCore inventory.
Typical use: Use when the graph needs the inventory remove step.
▶ (exec)▶ Removed (exec), ▶ Not Enough (exec)Item ID, Amount
inventory_giveGive ItemUse this node when a Visual Logic graph needs the Give Item action or condition.
Typical use: Use when the graph needs the inventory give step.
In (exec)Out (exec)Item ID, Amount
quest_updateUpdate QuestUse this node when a Visual Logic graph needs the Update Quest action or condition.
Typical use: Use when the graph needs the quest update step.
In (exec)Out (exec)Quest ID, Status
shop_openOpen Shop UIUse this node when a Visual Logic graph needs the Open Shop UI action or condition.
Typical use: Use when the graph needs the shop open step.
In (exec)Out (exec)Shop ID
unequip_item🗑️ Unequip ItemRemoves the item from a named equipment slot.
Typical use: Use when the graph needs the unequip item step.
▶ (exec)▶ (exec)Slot

#Narrative Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
chapter_start📖 Chapter: StartLoads a DreamChapter resource and fires its start sequence via DreamDirector.
Typical use: Use when the graph needs the chapter start step.
▶ (exec)▶ (exec)Chapter ID, Chapter Path
credits_roll🎞️ Credits: RollScrolls a formatted credits list. Accepts a StringArray resource or a comma-separated text property.
Typical use: Use when the graph needs the credits roll step.
▶ (exec)▶ Done (exec)Credits Text, Scroll Speed, BG Color, Text Color, Skip On Input
dialogue_dynamic_choice💬 Dynamic ChoiceShows a choice menu with option labels set at runtime from an Array.
Typical use: Use when the graph needs the dialogue dynamic choice step.
▶ (exec), Options Array (variant)▶ Selected (exec), Index (int), Label (string)Prompt Text, Speaker
portrait_set🖼️ Portrait: SetChanges the portrait image in the dialogue box.
Typical use: Use when the graph needs the portrait set step.
▶ (exec)▶ (exec)Portrait Path, Hide If Empty
title_card_show🎬 Title Card: ShowFull-screen title card with text and fade in/out animation.
Typical use: Use when the graph needs the title card show step.
▶ (exec)▶ Done (exec)Title Text, Subtitle, Fade In, Hold, Fade Out, BG Color, Text Color
tutorial_show📚 Tutorial: ShowDisplays a tutorial tooltip with a title, body text, and optional anchor node.
Typical use: Use when the graph needs the tutorial show step.
▶ (exec)▶ Dismissed (exec)Title, Body, Duration, Key, Show Once
typewriter_set_speed⌨️ Typewriter: Set SpeedChanges the DreamHUD dialogue box typewriter chars-per-second rate.
Typical use: Use when the graph needs the typewriter set speed step.
▶ (exec), Speed (float)▶ (exec)Chars Per Second

#Engine Core Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
bb_set📋 Blackboard: SetStores a value in the local sequence Blackboard. The key can be retrieved with bb_get in the same sequence execution.
Typical use: Use when the graph needs the bb set step.
▶ (exec), New Value (variant)▶ (exec)Key
call_method_ext⚡ Call MethodCalls a named method on the target node with up to 3 arguments.
Typical use: Use when the graph needs the call method ext step.
▶ (exec), Target (object), Arg 0 (variant), Arg 1 (variant)▶ (exec), Return Value (variant)Function Name, Use Self, Argument (Optional)
call_methodCall FunctionUse this node when a Visual Logic graph needs the Call Function action or condition.
Typical use: Use when the graph needs the call method step.
In (exec), Data (Opt) (variant)Out (exec), Return Value (variant)Function Name, Argument (Optional)
get_propertyGet PropertyUse this node when a Visual Logic graph needs the Get Property action or condition.
Typical use: Use when the graph needs the get property step.
Result (variant)Property Name
set_propertySet PropertyUse this node when a Visual Logic graph needs the Set Property action or condition.
Typical use: Use when the graph needs the set property step.
In (exec)Out (exec)Property Name, New Value
set_property_ext✏️ Set PropertySets a named property on a target Node at runtime. The type-safe cast chain supports: int, float, bool, Vector2, Vector3, Color, String.
Typical use: Use when the graph needs the set property ext step.
▶ (exec), Target Node (object), New Value (variant)▶ (exec)Property Name, New Value, Apply to Self?

#Input Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
cursor_mode_set🖱️ Cursor: Set ModeSets the mouse cursor mode (VISIBLE, HIDDEN, CAPTURED, CONFINED).
Typical use: Use when the graph needs the cursor mode set step.
▶ (exec)▶ (exec)Mode
gamepad_vibrate📳 Gamepad: VibrateTriggers DreamInput gamepad vibration with intensity and duration.
Typical use: Use when the graph needs the gamepad vibrate step.
▶ (exec), Intensity (float)▶ (exec)Weak Intensity, Strong Intensity, Duration, Device ID
input_check_action🎮 Input: Check ActionChecks if an action is currently held / just pressed. Outputs a bool for use in branch nodes.
Typical use: Use when the graph needs the input check action step.
▶ (exec)▶ Pressed (exec), ▶ Released (exec), Is Pressed (bool), Strength (float)Action Name, Mode
input_check_double_tap👆👆 Double TapDetects a double-tap on an action within a time window.
Typical use: Use when the graph needs the input check double tap step.
▶ (exec)▶ Yes (exec), ▶ No (exec)Action, Window (s)
input_get_axis🕹️ Input: Get AxisReturns a -1..1 float from two opposing actions. Useful for analogue movement in racing / platformer intent nodes.
Typical use: Use when the graph needs the input get axis step.
Axis (-1 to 1) (float)Negative Action, Positive Action
input_get_vector🕹️ Input: Get VectorOutputs a 2D movement vector from four directional InputMap actions.
Typical use: Use when the graph needs the input get vector step.
▶ (exec)▶ (exec), Vector2 (vector2), Vector3 XZ (vector3), Is Moving (bool)Action Left, Action Right, Action Up, Action Down, Deadzone

#Inventory Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
craft_item🔨 Craft ItemValidates a DreamRecipe, consumes ingredients from DreamCore inventory, and produces the result item.
Typical use: Read or change inventory data during interaction, loot, shop, or quest logic.
▶ (exec)▶ Success (exec), ▶ Failed (No Mats) (exec), Result Item ID (string)Recipe ID, Recipe Path
exp_give⭐ EXP: GiveAwards XP to a DreamActor via its trait_experience component. Fires the level_up signal on the actor if the XP threshold is crossed.
Typical use: Read or change inventory data during interaction, loot, shop, or quest logic.
▶ (exec), Target (object), XP Amount (float)▶ (exec), ▶ Level Up! (exec), New XP (float)XP Amount
level_up⬆️ Level UpForces a level-up on a DreamActor, applying stat growth from its DreamClass.
Typical use: Read or change inventory data during interaction, loot, shop, or quest logic.
▶ (exec), Target (object)▶ (exec), New Level (int)Levels
money_add💰 Money: AddAdds a currency amount to DreamCore's GOLD variable.
Typical use: Read or change inventory data during interaction, loot, shop, or quest logic.
▶ (exec), Amount (float)▶ (exec), New Total (float)Amount, Variable
money_remove💸 Money: RemoveRemoves a currency amount from DreamCore's GOLD variable with an insufficient-funds guard.
Typical use: Read or change inventory data during interaction, loot, shop, or quest logic.
▶ (exec), Amount (float)▶ Success (exec), ▶ Insufficient (exec), New Total (float)Amount, Variable
unlock_skill✨ Unlock SkillAdds a DreamSkill to a DreamActor's unlocked skill list.
Typical use: Read or change inventory data during interaction, loot, shop, or quest logic.
▶ (exec), Target (object)▶ (exec), ▶ Already Unlocked (exec)Skill ID

#AI Behavior Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
bb_getGet Blackboard ValueUse this node when a Visual Logic graph needs the Get Blackboard Value action or condition.
Typical use: Prototype AI behavior or perception step for bb get.
Result (variant)Key
bt_actionAction (Leaf)Use this node when a Visual Logic graph needs the Action (Leaf) action or condition.
Typical use: Prototype AI behavior or perception step for bt action.
In (exec)Method Name, Argument
bt_conditionCondition (Leaf)Use this node when a Visual Logic graph needs the Condition (Leaf) action or condition.
Typical use: Prototype AI behavior or perception step for bt condition.
In (exec)True (exec), False (exec)Stat Name, Threshold, Check
bt_selectorSelector (OR)Use this node when a Visual Logic graph needs the Selector (OR) action or condition.
Typical use: Prototype AI behavior or perception step for bt selector.
In (exec)Task 1 (exec), Task 2 (exec), Task 3 (exec)
bt_sequenceSequence (AND)Use this node when a Visual Logic graph needs the Sequence (AND) action or condition.
Typical use: Prototype AI behavior or perception step for bt sequence.
In (exec)Step 1 (exec), Step 2 (exec), Step 3 (exec)

#Narrative & FX Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
cutscene_play🎬 Cutscene: PlayTriggers a cutscene via DreamCutscene autoload.
Typical use: Use when the graph needs the cutscene play step.
▶ (exec), Sequence (object)▶ Done (exec)Cutscene ID
audio_play_simplePlay SoundUse this node when a Visual Logic graph needs the Play Sound action or condition.
Typical use: Use when the graph needs the audio play simple step.
In (exec)Out (exec)Audio File Path, Pitch Scale
dialogue_choicePlayer ChoiceUse this node when a Visual Logic graph needs the Player Choice action or condition.
Typical use: Use when the graph needs the dialogue choice step.
In (exec)▶ Choice 0 (exec), ▶ Choice 1 (exec), ▶ Choice 2 (exec)Speaker Name, Text, Option 0, Option 1, Option 2
dialogue_showShow DialogueUse this node when a Visual Logic graph needs the Show Dialogue action or condition.
Typical use: Use when the graph needs the dialogue show step.
In (exec)Out (exec)Speaker Name, Text
notification_show🔔 Notification: ShowDisplays a toast notification via DreamHUD.
Typical use: Use when the graph needs the notification show step.
▶ (exec), Body Text (string)▶ (exec)Title, Body

#Quest & Progression Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
flag_checkFlag: CheckUse this node when a Visual Logic graph needs the Flag: Check action or condition.
Typical use: Update quest/progression state from a trigger, dialogue choice, or event.
▶ (exec)▶ True (exec), ▶ False (exec), Flag State (bool)Flag Name
flag_setFlag: SetUse this node when a Visual Logic graph needs the Flag: Set action or condition.
Typical use: Update quest/progression state from a trigger, dialogue choice, or event.
▶ (exec), On/Off (Opt) (bool)▶ (exec)Flag Name, Set To
objective_complete☑️ Objective: CompleteMarks a quest objective as done via a DreamCore switch.
Typical use: Update quest/progression state from a trigger, dialogue choice, or event.
▶ (exec)▶ (exec)Objective ID, Show Notification
quest_complete✅ Quest: CompleteMarks a quest as Completed in DreamCore.
Typical use: Update quest/progression state from a trigger, dialogue choice, or event.
▶ (exec)▶ (exec)Quest ID, Show Notification
quest_start📜 Quest: StartMarks a quest as Active in DreamCore.
Typical use: Update quest/progression state from a trigger, dialogue choice, or event.
▶ (exec)▶ (exec)Quest ID

#Quick Time Events Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
qte_button_prompt🔘 QTE Button PromptShows a button prompt. Player must press correct action within time limit.
Typical use: Update HUD, menus, dialogue, labels, prompts, or player feedback.
▶ (exec)▶ Success (exec), ▶ Fail (exec), Reaction Time (float)Action, Time Limit, Show Button Icon
qte_hold⏳ QTE Hold ButtonPlayer must hold a button for a specific duration. Shows a charging bar.
Typical use: Update HUD, menus, dialogue, labels, prompts, or player feedback.
▶ (exec)▶ Success (exec), ▶ Released Early (exec), ▶ Timeout (exec), Hold Time (float)Action, Hold Duration, Time Limit
qte_mash👊 QTE Button MashPlayer must rapidly press a button to fill a meter before time runs out.
Typical use: Update HUD, menus, dialogue, labels, prompts, or player feedback.
▶ (exec)▶ Success (exec), ▶ Fail (exec), Fill % (float)Action, Target Presses, Time Limit, Decay Rate
qte_sequence_input🎹 QTE Input SequencePlayer must input a sequence of buttons in order.
Typical use: Update HUD, menus, dialogue, labels, prompts, or player feedback.
▶ (exec)▶ Perfect (exec), ▶ Partial (exec), ▶ Fail (exec), Accuracy % (float)Sequence, Time Per Input
qte_start🎯 QTE StartBegins a Quick Time Event sequence. Shows prompt and starts timer.
Typical use: Update HUD, menus, dialogue, labels, prompts, or player feedback.
▶ (exec)▶ Running (exec), ▶ Timeout (exec)Duration, Slow Motion

#String Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
string_contains🔍 String: ContainsChecks if Text contains the Search substring.
Typical use: Use when the graph needs the string contains step.
▶ (exec), Text (string), Search (string)▶ Found (exec), ▶ Not Found (exec), Result (bool)Text, Search
string_length📏 String: LengthOutputs the character count of a string.
Typical use: Use when the graph needs the string length step.
Text (string)Length (int)Text
string_replace🔄 String: ReplaceReplaces all occurrences of Find with Replace in Text.
Typical use: Use when the graph needs the string replace step.
Text (string), Find (string), Replace (string)Result (string)Text, Find, Replace
string_to_loweraa String: To LowerConverts text to lowercase.
Typical use: Use when the graph needs the string to lower step.
Text (string)Result (string)Text
string_to_upperAA String: To UpperConverts text to UPPERCASE.
Typical use: Use when the graph needs the string to upper step.
Text (string)Result (string)Text

#Engine Bridge Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
property_get📖 Property: GetReads any property from a target node by name.
Typical use: Use when the graph needs the property get step.
▶ (exec), Target Node (Opt) (variant)▶ (exec), Result (variant)Property Name
property_set📝 Property: SetWrites any property on a target node by name.
Typical use: Use when the graph needs the property set step.
▶ (exec), Target Node (Opt) (variant), New Value (variant)▶ (exec)Property Name
signal_connect🔌 Signal: ConnectConnects a signal from Emitter to a method on Receiver at runtime.
Typical use: Use when the graph needs the signal connect step.
▶ (exec), Emitter (variant), Receiver (variant)▶ (exec)Signal Name, Method Name
signal_emit📡 Signal: EmitEmits a named signal on a target node.
Typical use: Use when the graph needs the signal emit step.
▶ (exec), Target (Opt) (variant), Arg (Opt) (variant)▶ (exec)Signal Name

#Events Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
await_eventAwait Eventaddons/dreamcatcher/core/logic/nodes/await_event.gd Pauses the visual script graph until a named DreamEventBus event fires. Output port 0 = event received (data available on output wire). Output port 1 = timeout (no event within the specified seconds; 0 = wait
Typical use: Use when the graph needs the await event step.
In (exec), Event Name (string)Received (exec), Timeout (exec), Event Data (variant)Event Name, Timeout
event_input_action🎮 On Input ActionFires when a specific input action is pressed. Works as a frame-check node: routes to Pressed or Released based on current state.
Typical use: Use when the graph needs the event input action step.
▶ (exec)▶ Pressed (exec), ▶ Released (exec)Action Name
event_process⚙️ On ProcessEntry node that fires every _process frame. Connect its output to nodes that need per-frame updates (AI, physics checks).
Typical use: Use when the graph needs the event process step.
▶ (exec), Delta (float)
event_startOn StartUse this node when a Visual Logic graph needs the On Start action or condition.
Typical use: Use when the graph needs the event start step.
Exec (exec)

#Quest Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
achievement_unlock🏆 Achievement: UnlockUnlocks an achievement by ID in DreamAchievements singleton.
Typical use: Update quest/progression state from a trigger, dialogue choice, or event.
▶ (exec)▶ Unlocked (exec), ▶ Already Had (exec)Achievement ID
quest_check_stage❓ Quest: Check StageOutputs the current stage index of a DreamQuest.
Typical use: Update quest/progression state from a trigger, dialogue choice, or event.
Quest ID (string)Stage (int), Is Active (bool), Is Complete (bool)Quest ID
quest_fail❌ Quest: FailMarks a DreamQuest as failed and fires its on_fail sequence.
Typical use: Update quest/progression state from a trigger, dialogue choice, or event.
▶ (exec)▶ (exec)Quest ID
variable_set📝 Variable: SetSets a named variable in DreamCore's variable table.
Typical use: Update quest/progression state from a trigger, dialogue choice, or event.
▶ (exec), New Value (variant)▶ (exec)Variable Name, New Value

#Scene & Nodes Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
find_node🔍 Find NodeSearches the scene tree for a node by name or group.
Typical use: Read, change, spawn, or manage Godot scene/node state.
Node (object), Found (bool)Search, Mode
group_call📢 Group CallCalls a method on all nodes in a Godot group. Silently skips nodes that don't have the method.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Arg (variant)▶ (exec)Group, Method, Arg
node_is_valid✔ Node Is ValidChecks if a node reference is non-null and valid.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), Node (object)▶ Valid (exec), ▶ Invalid (exec)
spawn_scene_ext✨ Spawn SceneInstantiates a .tscn scene and adds it to the tree. Can place at a target node's position or at a fixed NodePath.
Typical use: Read, change, spawn, or manage Godot scene/node state.
▶ (exec), At Position (object)▶ (exec), Instance (object)Scene Path, Parent Path, Position Offset

#Time & World Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
time_advance⏩ Time: AdvanceAdvances the game clock by a set number of minutes.
Typical use: Use when the graph needs the time advance step.
▶ (exec), Minutes (float)▶ (exec)Minutes
time_check_range⏱️ Time: Check RangeBranches based on whether current game hour falls in a range.
Typical use: Use when the graph needs the time check range step.
▶ (exec)▶ In Range (exec), ▶ Out of Range (exec), Hour (int)Hour Start, Hour End
time_get🕐 Time: GetOutputs the current game hour and minute as integers.
Typical use: Use when the graph needs the time get step.
Hour (int), Minute (int), Day (int)
weather_set🌦️ Weather: SetChanges the game weather via DreamWeather autoload.
Typical use: Use when the graph needs the weather set step.
▶ (exec)▶ (exec)Weather ID, Transition Time

#Type Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
cast_to_boolT/F Cast: To BoolConverts any value to a boolean.
Typical use: Use when the graph needs the cast to bool step.
Value (variant)Result (bool)Value
cast_to_float0.0 Cast: To FloatConverts any value to a float.
Typical use: Use when the graph needs the cast to float step.
Value (variant)Result (float)Value
cast_to_int# Cast: To IntConverts any value to an integer.
Typical use: Use when the graph needs the cast to int step.
Value (variant)Result (int)Value
cast_to_stringAbc Cast: To StringConverts any value to its string representation.
Typical use: Use when the graph needs the cast to string step.
Value (variant)Result (string)Value

#AI & Navigation Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
ai_set_target🎯 AI: Set TargetStores a target Node reference in the actor's Blackboard. Other nodes (navmesh_move_to, look_at_target) read "target" from the blackboard.
Typical use: Prototype AI behavior or perception step for ai set target.
▶ (exec), Target Node (object)▶ (exec)Target Group, Mode
look_at_target👁️ Look At TargetRotates the actor to face a target node smoothly.
Typical use: Prototype AI behavior or perception step for look at target.
▶ (exec), Actor (object), Target (object)▶ (exec)Turn Speed, Instant
navmesh_move_to🧭 NavMesh: Move ToMoves the target CharacterBody3D to a destination using its NavigationAgent3D child. Yields until arrived.
Typical use: Prototype AI behavior or perception step for navmesh move to.
▶ (exec), Actor (object), Target (object)▶ Arrived (exec), ▶ Unreachable (exec)Speed, Target Path, Stop Distance, Max Wait

#AI / Perception Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
ai_alert_level🚨 AI Alert LevelManages alert states: Idle → Suspicious → Alert → Combat. Decays over time.
Typical use: Prototype AI behavior or perception step for ai alert level.
▶ Add Alert (exec), Amount (float)▶ Idle (exec), ▶ Suspicious (exec), ▶ Alert (exec), ▶ Combat (exec), Level (float)Suspicious At, Alert At, Combat At, Decay Rate
ai_hearing👂 AI Hearing SensorDetects sounds within a radius. Pure data node.
Typical use: Prototype AI behavior or perception step for ai hearing.
▶ Heard Sound (exec), Sound Position (vector3), Loudness (float)Hearing Range, Sensitivity
ai_line_of_sight👁️ AI Line of SightChecks if target is visible within FOV angle and max distance.
Typical use: Prototype AI behavior or perception step for ai line of sight.
Target (object)Can See (bool), Distance (float), Angle (float)FOV Angle, Max Distance, Obstacle Mask

#Scene & Node Management Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
destroy_nodeDestroy Nodeaddons/dreamcatcher/core/logic/nodes/node_destroy_node.gd Calls queue_free() on a target node. Supports Self, NodePath, or wired object.
Typical use: Read, change, spawn, or manage Godot scene/node state.
In (exec), Target (object)Out (exec)Target Path, Use Self
spawn_sceneSpawn Sceneaddons/dreamcatcher/core/logic/nodes/node_spawn_scene.gd Instances a PackedScene into the active scene tree.
Typical use: Read, change, spawn, or manage Godot scene/node state.
In (exec), Position (variant)Out (exec), Spawned Node (object)Scene Path, Parent Path, Node Name
tween_propertyTween Propertyaddons/dreamcatcher/core/logic/nodes/node_tween_property.gd Smoothly animates any Godot node property using a Tween. Supports moving platforms, UI transitions, camera zoom, and more.
Typical use: Read, change, spawn, or manage Godot scene/node state.
In (exec)Out (exec)Target Path, Property, Target Value, Duration, Ease, Loop, Await Finish

#UI Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
hide_menu🚫 Hide MenuHides a named UI control within the DreamHUD or scene.
Typical use: Update HUD, menus, dialogue, labels, prompts, or player feedback.
▶ (exec)▶ (exec)Node Path or Group
show_menu_item📋 Show Menu ItemShows a named UI control within the DreamHUD or scene.
Typical use: Update HUD, menus, dialogue, labels, prompts, or player feedback.
▶ (exec)▶ (exec)Node Path or Group
update_hud_label🏷 Update HUD LabelUpdates a Label node's text inside the HUD.
Typical use: Update HUD, menus, dialogue, labels, prompts, or player feedback.
▶ (exec), Display Text (variant)▶ (exec)Label Path, Prefix, Suffix

#🃏 Card Game (Intents) Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_card_draw🃏 Card: DrawCard Battler Intent: Draw Cards Draws N cards from the deck into the player's hand via DreamCardGameManager.
Typical use: Use when the graph needs the intent card draw step.
▶ (exec), Manager (object), Count (int)▶ Cards Drawn (exec), ▶ Deck Empty (exec), Drawn Cards (variant)Count
intent_card_play🎴 Card: PlayCard Battler Intent: Play Card Removes a card from the hand, pays mana cost, and fires the card's effect DreamSequence.
Typical use: Use when the graph needs the intent card play step.
▶ (exec), Card (object)▶ Played (exec), ▶ No Mana (exec)Mana Variable
intent_card_shuffle🔀 Card: ShuffleCard Battler Intent: Shuffle Deck Merges the discard pile into the deck and randomises the order.
Typical use: Use when the graph needs the intent card shuffle step.
▶ (exec), Manager (object)▶ (exec), New Deck Size (int)

#🌾 Farm (Intents) Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_farm_plant🌱 Farm: PlantCozy Farm Intent: Plant Crop Places a crop at a grid cell, sets growth_stage = 0, and records plant_time.
Typical use: Use when the graph needs the intent farm plant step.
▶ (exec), Cell Position (vector3)▶ Planted (exec), ▶ Invalid Cell (exec)Crop ID, Crop Scene, Cell Key Prefix
intent_farm_qte⏱️ Farm: QTEoutputs success or fail port based on timing.
Typical use: Use when the graph needs the intent farm qte step.
▶ (exec)▶ Success (exec), ▶ Failed (exec)Window Seconds, Action, Wait Min, Wait Max
intent_farm_time🕐 Farm: Time Checktime since plant_time, advances growth_stage if mature.
Typical use: Use when the graph needs the intent farm time step.
▶ (exec), Cell Key (string)▶ Growing (exec), ▶ Mature (exec), Stage (int), Progress (0-1) (float)Hours To Mature, Max Stage, Cell Key

#🎮 Platformer (Intents) Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_plat_gravity🌍 Plat: Gravitygrav or zero-g zones).
Typical use: Use when the graph needs the intent plat gravity step.
▶ (exec), Actor (object)▶ (exec)Gravity Scale, Duration
intent_plat_jump🦘 Plat: Jumpjump.
Typical use: Use when the graph needs the intent plat jump step.
▶ (exec), Actor (object)▶ Jumped (exec), ▶ Max Jumps Reached (exec)Jump Velocity, Max Jumps, Jump Count Key
intent_plat_knockback💥 Plat: KnockbackPlatformer Intent: Knockback Applies a directional impulse away from the damage source with linear decay.
Typical use: Use when the graph needs the intent plat knockback step.
▶ (exec), Actor (object), Source (object)▶ (exec)Force, Upward Bias

#🏕️ Survival (Intents) Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_surv_build🏗️ Surv: BuildSurvival Intent: Build Structure Places a structure from a DreamRecipe at a target position in the world.
Typical use: Use when the graph needs the intent surv build step.
▶ (exec), Build Position (vector3)▶ Built (exec), ▶ No Materials (exec), Built Node (object)Recipe ID, Structure Scene
intent_surv_consume🍗 Surv: Consumeremoves from inventory, applies stat restoration.
Typical use: Use when the graph needs the intent surv consume step.
▶ (exec)▶ Consumed (exec), ▶ Not Found (exec)Item ID, HP Restore, Hunger Restore, Thirst Restore
intent_surv_durability🔧 Surv: DurabilitySurvival Intent: Durability Reduction Reduces a tool/weapon durability variable on use; fires broken port at 0.
Typical use: Use when the graph needs the intent surv durability step.
▶ (exec), Reduction (float)▶ Still Good (exec), ▶ Broken! (exec), Durability Left (float)Item ID, Reduction, Variable Suffix

#📖 Visual Novel (Intents) Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_vn_affection❤️ VN: AffectionVisual Novel Intent: Affection Increments or decrements a named character's affection variable in DreamCore.
Typical use: Use when the graph needs the intent vn affection step.
▶ (exec), Amount (float)▶ (exec), New Value (float)Character ID, Amount, Min, Max
intent_vn_shake📳 VN: Screen Shakebased shake effect for dramatic VN moments.
Typical use: Use when the graph needs the intent vn shake step.
▶ (exec)▶ (exec)Trauma, Duration
intent_vn_show_cg🖼️ VN: Show CGscreen CG (Illustration) with a fade-in transition.
Typical use: Use when the graph needs the intent vn show cg step.
▶ (exec)▶ Done (exec)CG Path, Fade Duration, Hold Duration, Layer

#🗡️ Action RPG (Intents) Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_arpg_crit💥 ARPG: Crit HitAction RPG Intent: Calculate Critical Hit Rolls a random chance to multiply damage based on Crit Chance variable.
Typical use: Use when the graph needs the intent arpg crit step.
▶ (exec), Base Damage (float), Crit Chance (%) (float), Crit Multiplier (float)▶ Normal (exec), ▶ CRITICAL! (exec), Final Damage (float)Base Damage, Crit Chance (%), Crit Multiplier
intent_arpg_parry🛡️ ARPG: Parry WindowAction RPG Intent: Perfect Parry Window Opens a brief time window where incoming damage is negated and the attacker is stunned.
Typical use: Use when the graph needs the intent arpg parry step.
▶ (exec), Window (Secs) (float)▶ Window Open (exec), ▶ Window Closed (exec)Window (Secs), Parry Key
intent_arpg_status☠️ ARPG: Status EffectAction RPG Intent: Apply Status Effect Applies a DoT (Poison, Burn) or CC (Freeze, Stun) to the target actor.
Typical use: Use when the graph needs the intent arpg status step.
▶ (exec), Target (object), Duration (float)▶ Applied (exec), ▶ Immune (exec)Effect Type, Duration, Tick Damage, Tick Interval

#🥷 Stealth (Intents) Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_stealth_alarm🚨 Stealth: Alarmsets alarm_level variable, notifies squad via group.
Typical use: Use when the graph needs the intent stealth alarm step.
▶ (exec), Guard (object)▶ (exec)Alarm Level, Squad Group, Alarm Variable
intent_stealth_behind🥷 Stealth: Behind?enables stealth takedown.
Typical use: Use when the graph needs the intent stealth behind step.
▶ (exec), Attacker (object), Target (object)▶ Behind (exec), ▶ Frontal (exec), Angle (float)Behind Angle
intent_stealth_vision👁 Stealth: VisionStealth Tactics Intent: Vision Cone Casts a vision cone raycast; sets bb 'player_visible' on the guard's blackboard.
Typical use: Use when the graph needs the intent stealth vision step.
▶ (exec), Guard (object)▶ Player Visible (exec), ▶ Not Visible (exec), Alert Level (float)Sight Range, FOV Degrees, Alert Decay

#AI / Memory Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
ai_blackboard_get📖 AI Blackboard GetReads a value from the AI's local blackboard.
Typical use: Prototype AI behavior or perception step for ai blackboard get.
Result (Variant), Found (bool)Key
ai_blackboard_set📝 AI Blackboard SetWrites a value to the AI's local blackboard (per-actor memory).
Typical use: Prototype AI behavior or perception step for ai blackboard set.
▶ (exec), New Value (Variant)▶ (exec)Key

#AI / Tactical Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
ai_formation🎖️ AI FormationPositions AI units in a formation: line, circle, wedge, column, staggered.
Typical use: Prototype AI behavior or perception step for ai formation.
▶ (exec)▶ (exec)Group, Formation, Spacing
ai_group_command📢 AI Group CommandSends a command to all AI in a group: attack, retreat, hold, flank, spread.
Typical use: Prototype AI behavior or perception step for ai group command.
▶ (exec)▶ (exec), Units Responding (int)Group, Command, Target ID

#Combat Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
end_encounterEnd Encounteraddons/dreamcatcher/core/logic/nodes/end_encounter.gd Ends the current combat encounter via DreamCombatBridge. Optionally passes a result dictionary (e.g. {"won": true}).
Typical use: Use when the graph needs the end encounter step.
In (exec), Result (variant)Out (exec)
start_encounterStart Encounteraddons/dreamcatcher/core/logic/nodes/start_encounter.gd Triggers a combat encounter via DreamCombatBridge from a visual script. Participants are gathered from a named Godot group (e.g. "enemies", "combatants"). Output port 0 = encounter started successfully. O
Typical use: Use when the graph needs the start encounter step.
In (exec), Config (variant)Started (exec), Failed (exec)Combat Mode, Participant Group

#World Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
day_night_set🌅 Day/Night SetSets the in-game time-of-day and optionally updates a DirectionalLight3D intensity and sky to match.
Typical use: Use when the graph needs the day night set step.
▶ (exec), Hour (0-24) (float)▶ (exec)Hour, Update Sky, Update Light
environment_set🌍 Environment: SetTransitions to a named DreamEnvironment preset via DreamWeather.
Typical use: Use when the graph needs the environment set step.
▶ (exec), Env ID Override (string)▶ (exec)Environment ID, Transition Time

#Zero-Code Actions Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_heal_party💖 Heal Entire PartyRestores health to all current party members.
Typical use: Use when the graph needs the intent heal party step.
▶ (exec), Amount (int)▶ (exec)Amount
intent_move_towards🏃 Move Towards TargetAutomatically moves the actor toward a named target.
Typical use: Use when the graph needs the intent move towards step.
▶ (exec), Target ID (string), Speed (float)▶ (exec)Target ID, Speed

#🌟 Zero-Code Actions Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
intent_deal_damage⚔️ Deal DamageUse this node when a Visual Logic graph needs the ⚔️ Deal Damage action or condition.
Typical use: Use when the graph needs the intent deal damage step.
In (exec), Target ID (string), Amount (int)Out (exec)Target ID, Amount
intent_spawn_particles✨ Spawn Particles/VFXUse this node when a Visual Logic graph needs the ✨ Spawn Particles/VFX action or condition.
Typical use: Use when the graph needs the intent spawn particles step.
In (exec)Out (exec)Effect

#AI / Advanced Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
ai_utility_scorer🧠 AI Utility ScorerEvaluates multiple actions and picks the highest-scoring one.
Typical use: Prototype AI behavior or perception step for ai utility scorer.
▶ (exec), Health % (float), Ammo % (float), Threat Level (float)▶ Attack (exec), ▶ Defend (exec), ▶ Heal (exec), ▶ Flee (exec), Best Action (String)

#Game Manager Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
query_genre_stateQuery Genre Statesystem game state into a Dictionary output. Returns: is_in_combat, combat_mode, registered_modes, current_scene, scene_flow_active, active_quests, party_size, gold. Use this to branch logic based on what genre systems are currently active.
Typical use: Use when the graph needs the query genre state step.
In (exec)Out (exec), State (variant)

#Save Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
autosave💾 AutosaveTriggers an autosave to slot 0 without blocking sequence execution.
Typical use: Use when the graph needs the autosave step.
▶ (exec)▶ (exec)Slot, Show Notification

#Save / Load Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
delete_save🗑 Delete SaveDeletes a save slot from disk.
Typical use: Use when the graph needs the delete save step.
▶ (exec), Slot (int)▶ Done (exec), ▶ Failed (exec)Slot

#State Machine Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
fsm_stateStateUse this node when a Visual Logic graph needs the State action or condition.
Typical use: Use when the graph needs the fsm state step.
Enter (exec)Exit (exec)State Name, _sub_graph

#🌟 Auto-Templates Visual Logic nodes

Node IDTitlePurpose / useInputsOutputsProperties
macro_block📦 Custom MacroUse this node when a Visual Logic graph needs the 📦 Custom Macro action or condition.
Typical use: Use when the graph needs the macro block step.
In (exec)Out (exec)Macro Name, _sub_graph

#Using Dreamcatcher for large or advanced projects

Dreamcatcher can help larger, more ambitious Godot projects, but it is not a replacement for design, testing, optimization, art direction, or project-specific engineering. Treat it as a scaffold, workshop, and workflow accelerator: useful for getting a playable structure in place faster, then refining the parts that matter most to the project.

Practical approach: use Dreamcatcher to reach a vertical slice faster, then keep, replace, or harden each system based on performance, maintainability, and production risk.

Project areaDreamcatcher can help withWhat still needs project work
Pre-productionDream DNA, ideation, tool maps, templates, and first playable loops.The final game direction, scope, design discipline, and content plan still need human decisions.
Vertical slicePlayer setup, maps, triggers, dialogue, quests, UI feedback, validation, and export-preflight reminders.Final quality still needs iteration, polish, playtesting, and bug fixing.
Quest, dialogue, and event scriptingNarrative Weaver, Visual Logic, triggers, map events, and behavior runners.Large projects still need naming rules, versioning, backups, review, and consistency checks.
Combat feelHitboxes, hurtboxes, damage numbers, camera/audio feedback, and starter combat wiring.High-end combat feel still depends on animation timing, tuning, profiling, and repeated playtesting.
3D presentationStarter scenes, cameras, VFX/audio/cinematic hooks, and workflow organization.Art direction, shaders, animation, LODs, optimization, and target-hardware testing remain project work.
MultiplayerFoundational helpers and workflow ideas.Online production still needs authority design, prediction or reconciliation, security, latency testing, and custom engineering.
Export and release preparationExport Manager and preflight reminders.Store rules, platform SDKs, signing, platform-holder approval, controller requirements, and hardware tests still apply.

Metaphor: Dreamcatcher is a construction workshop with labeled benches, templates, and inspectors. A polished game is the finished building. The workshop helps, but planning, craft, testing, and finishing work still matter.

#Practical limits and responsibilities

This section is written for users planning a real project. Dreamcatcher can accelerate setup and reduce blank-page work, but project owners still make the final creative, technical, legal, and release decisions.

AreaWhat Dreamcatcher helps withWhat still belongs to the project
Complete game creationSpeeds up common workflows such as starter scenes, logic graphs, map events, UI drafts, validation, and export preparation.A finished game still requires design decisions, playtesting, polish, content, bug fixing, and release checks.
Generated asset assignmentAssign/apply can write supported fields and metadata where the package supports it.Full runtime binding for every possible audio, VFX, UI, animation, and gameplay case is not promised in v0.9.4.
Export preparationExport Manager helps review common Godot export-preflight needs.Godot export templates, SDKs, signing, platform accounts, approval, and store/platform rules still apply.
Third-party tiles and assetsClassic 48×48 layout workflows can help organize compatible tile-style projects.Only use artwork, audio, fonts, and other assets that you are allowed to use in your project.
Early Access stabilityStable, Beta, and Foundation labels help explain how mature each area is.A project should still be backed up, tested, and validated before depending on a workflow heavily.
AI guidanceAI Dream Advisor can suggest ideas and workflow directions.AI suggestions should be checked against the guide, validator output, project goals, and normal Godot behavior.
NetworkingNetworking foundations and helper ideas can support prototypes or planning.Online games still need authority design, latency handling, lobby/session logic, security, platform testing, and custom QA.
Save, load, migration, baking, and cleanupMigration Assistant, Bake Manager, and Asset Cleaner can help organize risky project changes.Back up first, read warnings, validate afterward, and test the project before continuing.