#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
| Area | What it means |
|---|---|
| Dreamcatcher version | v0.9.4 Early Access |
| Godot version | Godot 4.7 stable compatibility-targeted; Godot 4.6.3 supported |
| Best starting point | Install the plugin, open the Dreamcatcher dock, then follow the first playable scene tutorial. |
| Main workflow | Create a scene → add data/resources → connect logic → add feedback → validate → test → prepare export. |
| Featured tools | 24 editor tools for maps, UI, visual logic, narrative, generated assets, validation, export preparation, and more. |
| Genre helpers | Universal profile plus 42 genre DNA profiles for starting different kinds of projects. |
| Generated assets | Maps, sprites, icons, audio, VFX, palettes, dialogue UI, database resources, and other project assets. |
| Important boundary | Generated assets and assignments are not automatic runtime guarantees; validate and test the result in Godot. |
| Asset rights | Use 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.mddescribe 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.md | Current package inventory, installation notes, scope, and support information. |
Documentation.html | Short bundled package documentation overview. |
RELEASE_NOTES_v0.9.0.md | First public beta / founder build history. |
RELEASE_NOTES_v0.9.1.md | First stability, bug-fix, and Godot 4.6.2 compatibility pass. |
RELEASE_NOTES_v0.9.2.md | Foundation, metadata clarity, project-owned path discipline, and validation groundwork. |
RELEASE_NOTES_v0.9.3.md | TileMapLayer maps, map events, regions, encounter/music/weather/collision/navigation workflows. |
RELEASE_NOTES_v0.9.4.md | Generated asset registry/browser, generated database and map outputs, assignment metadata, validator reliability, and Godot 4.7 stable compatibility-targeted support. |
COMPATIBILITY.md | Godot 4.7 / 4.6.3 compatibility notes and Early Access boundaries. |
CHANGELOG.md | Chronological version history. |
GUARANTEES.md | Project ownership, portability, and public guarantees. |
EXTENSIBILITY.md | Extension points and advanced integration notes. |
BRAND_NOTICE.md | Brand and third-party affiliation guidance. |
THIRD_PARTY_NOTICES.md | Third-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.5 | Planned 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.6 | Playable 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.7 | Database, 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.8 | Hardening, 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.9 | Beta-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 path | Beta, 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.
| Layer | Plain meaning | Where you meet it | Why it matters |
|---|---|---|---|
| Tool | An 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. |
| Node | A 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. |
| Resource | A 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 asset | A 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. |
| Module | A 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 service | A 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. |
| Validator | A 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 Play | A 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.
#Building your first scene
Use the click-by-click tutorial cards and stop after one working interaction.
#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.
#Making the loop feel alive
After the core loop works, add audio, music, animation, VFX, UI feedback, camera beats, and cinematics.
#Making a platformer
Follow the vertical-slice route: spawn, camera, pickup, hazard, checkpoint, exit, HUD, validation.
#Using one tool
Open the starter path table to see what to click first in every featured tool.
#Looking up facts
Use the reference section for tool names, resource types, generated asset categories, modules, custom nodes, and DNA profiles.
#Something broke
Use validation, troubleshooting, and the support report template before changing many things at once.
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:
- Choose a Genre DNA: pick a direction such as Universal, Platformer, Action RPG, or Visual Novel.
- Create or open one small scene: use Scene Composer or a safe test scene.
- Add one interaction: use Visual Logic, Map Editor, or a simple event.
- Validate it: use Content Validator and read warnings.
- 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 type | Start here | Then learn | Avoid first |
|---|---|---|---|
| Total Godot beginner | Install → first 10 minutes → first playable scene → too many nodes survival section | Minimum node path, Visual Logic basics, Validator | Full node reference, networking, advanced managers |
| Beginner game maker | Dream DNA → Scene Composer → Map Editor → one trigger → one Visual Logic graph | UI feedback, Narrative Weaver, generated asset workflow | Large genre systems before one vertical slice works |
| Intermediate Godot user | Custom node overview → Visual Logic integration → Map events | Custom node reference, resource reference, export preflight | Editing autoloads before understanding runtime services |
| Designer / writer | Narrative Weaver → quest/dialogue workflows → map event links | Visual Logic trigger/condition/action pattern | Combat internals, low-level scripts |
| Technical artist / UI designer | UI Builder → generated assets → audio/animation/VFX feedback stack | Assignment keys, validation, export checks | Large gameplay managers before visual feedback works |
| Advanced or team project | Architecture sections → custom nodes → Visual Logic reference → large-project planning | Bake/export/validation, replace-or-harden decisions | Treating 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
- Create or open a Godot 4.7 stable project. Godot 4.6.3 is also supported.
- Copy the plugin folder into your project so the path is exactly:
your_project/
├── addons/
│ └── dreamcatcher/
│ ├── plugin.cfg
│ └── plugin.gd
├── project.godot
└── ...
- Open the project in Godot.
- Go to Project → Project Settings → Plugins.
- Enable Dreamcatcher.
- 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.
- Open the Dreamcatcher workspace or Almanac.
- Choose Universal, Platformer, or Action RPG as your first Genre DNA.
- Open Scene Composer and create or inspect a small scene/template.
- Open Generated Asset Browser so you know where generated outputs will appear.
- Open Content Validator so you know where warnings and readiness checks appear.
- 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
- Create a clean test project in Godot 4.7 stable. Godot 4.6.3 is also supported.
- Install and enable Dreamcatcher.
- Choose a beginner-safe Genre DNA: Universal, Platformer, or Action RPG.
- Open Scene Composer and create a starter scene or blank safe test scene.
- Add one player/actor or use the template-provided actor.
- Add one simple interaction: a door, chest, pickup, NPC dialogue, trigger, or test area.
- If useful, generate one icon, sound, map, dungeon, loot table, or database resource and save it as project-owned content.
- Run Content Validator and read warnings carefully. Fix one warning if possible.
- Run Quick Play and confirm the interaction works.
- 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.
| Layer | What it is | Beginner action |
|---|---|---|
| Godot scene | The real level, player, camera, UI, and objects. | Open scenes normally in Godot and test often. |
| Dream custom node | Runtime node provided by Dreamcatcher, such as DreamActor2D or DreamTrigger2D. | Add only the few nodes needed by a tutorial. |
| Visual Logic graph | A saved sequence that decides what happens. | Make one graph that shows a message, gives an item, opens a door, or updates a quest. |
| DreamBehavior | The bridge that lets an object run a Visual Logic sequence. | Attach it to one door/chest/NPC/object first. |
| Autoload service | A behind-the-scenes global service such as event, save, audio, or state helpers. | Do not edit directly unless troubleshooting. |
| Validator | A 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.
- Create a small level scene.
- Add a player from a template or
DreamActor2D. - Add a door/chest/sign object.
- Add
DreamInteractable2Dand a collision shape. - Add
DreamBehaviorunder the object and assign a sequence. - 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.
- Add the trigger area.
- Add a
CollisionShape2D. - Assign the sequence or event to run.
- Keep it one-shot until the first test works.
- 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.
- Make one player and one enemy.
- Add one hitbox to the attacker and one hurtbox to the receiver.
- Test one successful hit.
- 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 with | Avoid at first |
|---|---|---|
| Make a player or enemy | DreamActor2D, DreamActor, or a starter template | Advanced genre managers and whole game-mode systems |
| Run no-code logic | DreamBehavior | Editing runtime graph scripts directly |
| Trigger something in a level | DreamTrigger2D / DreamTrigger | Manually wiring many unrelated signals |
| Make an NPC, chest, sign, or door | DreamInteractable2D / DreamInteractable | Large manager nodes before one interaction works |
| Test simple combat | DreamHitbox2D, DreamHurtbox2D, DreamHealthBar | Full combat bridge before one hit works |
| Show UI feedback | UI Builder, dialogue/HUD templates, DreamHealthBar | A 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
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 tool | Then look for... | Result |
|---|---|---|---|
| Choose game direction | Genre DNA / Almanac | profile selector | recommended tools/templates/resources |
| Create a scene | Scene Composer | template list / create / duplicate / export | one `.tscn` scene |
| Create a map | Map Editor | layer list, tile palette, paint mode | map scene with TileMapLayer layers |
| Add an interaction | Visual Logic or Map Event Editor | event / condition / action nodes or commands | `.dcs` graph or map event page |
| Create game data | Database | resource type list | `.tres` resources |
| Make dialogue | Narrative Weaver | dialogue / chapter / choice nodes | dialogue resources and story flow |
| Make UI | UI Builder | component library and device preview | UI `.tscn` scene |
| Generate content | Procedural Toolkit / Sound Studio / Sketch Enhancer | generate button + settings | generated asset record/output |
| Find generated content | Generated Asset Browser | filter / search / preview / report | registry record and output path |
| Check mistakes | Content Validator | validate current scene/map/project | warnings, errors, safe fixes |
| Test the game | Quick Play / Godot Play Current Scene | play/test button | playable test |
#Small dictionary for first-time Godot users
Read this before following scenarios. These words appear everywhere in Godot and Dreamcatcher.
| Word | Simple meaning | Life example |
|---|---|---|
| Project | Your whole game folder. | A school binder for one subject. |
| Scene | One reusable piece of the game. | A room, stage, menu, or character prototype. |
| Node | A building block inside a scene. | A building block. |
| Resource | Data used by the game. | A character card with stats written on it. |
| Signal | A message that says something happened. | A doorbell. |
| Graph | Visual rules connected by lines. | A board-game rule path: if this, then that. |
| `.dcs` | Dreamcatcher visual logic file. | A starter plan for behavior. |
| TileMapLayer | A layer of map tiles. | Transparent paper sheets stacked on top of a map. |
| Event | A thing on the map that reacts. | A chest, door, NPC, trap, or button. |
| Region | Invisible painted area with behavior. | A floor zone: safe zone, danger zone, music zone. |
| Validator | Tool that checks mistakes. | A validation check before you submit it. |
| Quick Play | Fast 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.
| Part | Meaning |
|---|---|
| Goal | What you are making and why it matters. |
| Click path | Where to go in Godot/Dreamcatcher. Exact labels can vary slightly between Godot 4.7 stable and Godot 4.6.3. |
| What to do | The action you performs. |
| Why | Why this step exists; this prevents following steps without checking results. |
| Expected result | What should appear after the action. |
| Created/changed | Which scene, node, file, resource, variable, or setting changed. |
| If it fails | The first likely mistake and first recovery step. |
| Continue when | A 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
#Infographic 5: Validation and export-preflight gates
#Infographic 6: Learning ladder
#Build your first full game loop
#What this course teaches
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
#Universal connection order
Most Dreamcatcher gameplay objects follow the same safe order. When something breaks, return to this order and find the missing link.
- Create the visible thing.
- Give it data.
- Give it collision/area if it must touch or detect.
- Give it logic.
- Attach the logic.
- Add feedback.
- Save state if the result must persist.
- Validate.
- Quick Play.
- Repeat with the next object.
| Object | Correct connection order |
|---|---|
| Player | player scene → input → collision → camera → actor data → movement/interact/attack graphs → HUD feedback → validation |
| NPC | NPC event → dialogue resource → choice → quest graph → state switch → reward/door consequence → validation |
| Enemy | enemy scene → enemy data → collision/hurtbox/detection → AI graph → damage/death graph → reward/quest update → validation |
| Chest | chest event → item data → interaction trigger → open graph → reward feedback → self-switch opened → validation |
| Door | door event → locked condition → key/quest/switch check → open/teleport graph → persistent unlocked state → validation |
| Map region | region paint → behavior type → condition/action → music/encounter/weather/cutscene → validation |
| HUD | UI scene → labels/bars → state binding → graph events update UI → validation |
#Which tool owns which part?
| Question | Tool/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.
#Full tutorial: first Action RPG quest room
#Phase 0: Create a safe training project
Dreamcatcher_First_RPG_Loop.#Phase 1: Enable Dreamcatcher
res://addons/dreamcatcher/, then Project → Project Settings → Plugins → Dreamcatcher → Enableres://addons/dreamcatcher/ and restart Godot if needed.#Phase 2: Choose Action RPG workflow
#Phase 3: Create the player
.tscn player scene.CharacterBody2D with Sprite2D, CollisionShape2D, and Camera2D.#Phase 4: Configure input
move_up, move_down, move_left, move_right, interact, attack, dash, pause, confirm, and cancel.#Phase 5: Give the player stats
DreamActorData: player_hero with HP, attack, defense, speed, and Player faction.#Phase 6: Create the map
#Phase 7: Add an NPC and dialogue
#Phase 8: Create the quest
quest_defeat_slime with objective “Defeat 1 slime” and a small reward.#Phase 9: Link dialogue choice to quest start
res://dream/logic/quests/start_slime_quest.dcsquest_slime_started = true, and show a notification. Attach the graph to the NPC/map event.#Phase 10: Add a locked door
old_door_unlocked. If false, show “The door is locked.” If true, open or transfer.#Phase 11: Create enemy data
enemy_slime with HP 30, attack 5, defense 1, slow speed, Enemy faction, and reward/drop.#Phase 12: Create enemy scene
.tscn scene and map placement.#Phase 13: Create enemy AI
res://dream/logic/enemies/slime_ai.dcs#Phase 14: Make the player attack
res://dream/logic/player/player_attack.dcs#Phase 15: Enemy death updates quest
res://dream/logic/enemies/slime_death.dcsslime_defeated = true, update quest objective, play feedback, drop reward, remove enemy.#Phase 16: Return to NPC for reward
res://dream/logic/quests/complete_slime_quest.dcsold_door_unlocked = true.#Phase 17: Add HUD feedback
#Phase 18: Validate and Quick Play
#Quick Play test order for the loop
- Player spawns.
- Player moves.
- Walls block movement.
- Camera follows.
- Interact near NPC opens dialogue.
- Choosing “Yes” starts the quest.
- Slime exists.
- Slime detects the player.
- Attack damages slime.
- Slime attacks or reacts.
- Slime dies.
- Quest updates.
- Return to NPC gives reward.
- Door unlocks.
- 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.
| Trigger | Used for | Example |
|---|---|---|
| On ready | Scene setup | Start BGM, initialize HUD, set starting state |
| Input action | Player button | Attack, interact, dash, pause |
| Area entered | Touch/zone behavior | Pickup, trap, music region, cutscene trigger |
| Interact button | Nearby object action | Talk to NPC, open chest, use door |
| Dialogue choice | Story consequence | Accept quest, refuse, set route variable |
| Enemy death | Combat consequence | Update quest, drop item, open arena door |
| Quest state changed | Progression | Unlock door, spawn NPC, change dialogue |
| Timer | Delayed action | Patrol wait, bomb countdown, cooldown |
| Validator/preflight | Checking | Find 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.
| Graph type | Use it for | Example |
|---|---|---|
| Input graph | Player buttons | Attack, interact, dash |
| Interaction graph | NPC/chest/door behavior | Talk, open, unlock, give item |
| Quest graph | Starting/completing objectives | Accept quest, update objective, give reward |
| Combat graph | Damage and death | Hit enemy, reduce HP, die, drop reward |
| AI graph/FSM | Enemy behavior | Idle, chase, attack, return, dead |
| UI graph | Feedback and HUD updates | HP 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.
| Dialogue choice | Gameplay 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.
| Layer/system | Beginner meaning |
|---|---|
| Ground | Where the player can stand |
| Walls/Objects/Roofs | What the player sees |
| Collision | What blocks movement |
| Navigation | Where AI can walk/pathfind |
| Regions | Invisible zones with meaning: encounters, music, weather, danger, safe area |
| Events | Objects that react: NPC, chest, door, trigger, pickup, save point |
| Spawn | Where 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.
| Common beginner mistake | Fix |
|---|---|
| Sprite exists but player cannot collide | Add/enable CollisionShape2D and map collision. |
| Input exists but player does not move | Check action names, player controller, and Quick Play scene. |
| Enemy sees through walls | Check detection area, line of sight rules, and navigation/collision. |
| Player cannot interact | Check InteractionArea, event trigger, and graph assignment. |
| Player attack does nothing | Check 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.
| Part | Purpose |
|---|---|
| Attack input | Starts the attack graph. |
| Animation | Shows the player what happened. |
| AttackArea / hitbox | Detects what was hit. |
| Hurtbox | Receives the hit. |
| Damage formula | Turns stats into HP loss. |
| Death graph | Handles 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.
| State | Meaning |
|---|---|
| Idle | Enemy waits or patrols. |
| Detect | Detection area sees the player. |
| Chase | Enemy moves toward the player using movement/navigation rules. |
| Attack | Enemy is close enough to damage the player. |
| Cooldown | Enemy waits before attacking again. |
| Return | Enemy loses player and returns to home/patrol. |
| Dead | Enemy 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 type | Use | Example |
|---|---|---|
| Switch | True/false global condition | old_door_unlocked = true |
| Self-switch | Per-event condition | Chest A opened, but Chest B still closed |
| Variable | Number or value | Gold, score, enemy count, route points |
| Quest state | Quest progress | Not started, active, complete, failed |
| Save data | Persistence between sessions | HP, 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.
| Generated asset | Beginner use |
|---|---|
| Icon | Assign to item, skill, quest, currency |
| SFX | Assign to pickup, chest, door, hit, UI confirm |
| Music | Assign to map, battle, region, title scene |
| VFX | Assign to attack hit, enemy death, spell impact |
| Dungeon/map | Open as editable map, then place events/collision/validation gates |
| Palette/theme | Use in UI theme or art direction |
#Make the loop feel alive: audio, animation, VFX, camera, and cinematics
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.
| Event | Animation | Sound | VFX | UI | Camera / cinematic | State |
|---|---|---|---|---|---|---|
| Enemy hit | Enemy hurt animation | Hit SFX | Hit spark | HP bar changes | Small shake | Enemy HP changes |
| Enemy dies | Death animation | Death SFX | Death puff | EXP/reward text | Optional slow beat | Defeated flag / quest update |
| Quest starts | NPC talk pose | Quest jingle | Subtle glow | Objective appears | Optional focus on NPC | Quest active |
| Door unlocks | Door unlock/open | Door SFX | Unlock glow | Prompt changes | Focus/pan to door | door_unlocked true |
| Region changes | None required | Ambience fade | Weather/fog | Area name | Fade/tint where useful | current_region |
| Boss intro | Boss animation | Roar/BGM | Burst | Boss name | Camera pan | boss_active true |
#Presentation tool ownership
| Question | Tool 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
quest_start, enemy_hit, enemy_death, reward_get, and old_door_open.#Step A2: Create or select one SFX
#Step A3: Register or find the SFX in Generated Asset Browser
res://dream/audio/, not inside res://addons/dreamcatcher/.#Step A4: Play the sound from Visual Logic
On Input attack → Play SFX. Then move it back to the real damage event.| Event | Sound type | Likely graph/event |
|---|---|---|
| Quest starts | Positive jingle | Dialogue choice / quest start graph |
| Enemy hit | Impact sound | Combat damage graph |
| Enemy death | Pop/puff/death | Enemy death graph |
| Reward gained | Sparkle/coin/item | Reward graph |
| Door opens | Creak/unlock | Door event graph |
| UI confirm | Click/confirm | UI Builder / menu event |
| Locked/error | Low/error tone | Locked door or invalid action graph |
#Tutorial B: Add map music, battle music, and ambience
Goal: teach the scene to change music based on location and gameplay state.
#Step B1: Choose three music states
map_bgm, battle_bgm, and region_ambience.#Step B2: Create or select music/ambience assets
#Step B3: Assign map BGM
map_bgm. If exact labels differ, use the available map or region music field.#Step B4: Add battle music transition
battle_bgm.map_bgm.On Input debug_music → Play battle_bgm, then restore real triggers.#Step B5: Add ambience or weather region
#Tutorial C: Connect animations to gameplay states
Goal: make animations follow actual player/enemy states instead of being decorative previews.
| Object | Animation | Trigger/state | Debug check |
|---|---|---|---|
| Player | Idle | No movement input | Does idle resume after walking/attack? |
| Player | Walk | Movement input | Does direction/speed match movement? |
| Player | Attack | Attack input | Does hitbox timing match the animation? |
| Player | Hurt | Receives damage | Does control recover afterward? |
| Player | Death | HP ≤ 0 | Does Game Over or respawn state begin? |
| Enemy | Idle | No target | Does it stop chasing after losing the player? |
| Enemy | Chase | Player detected | Does it move only when path/detection is valid? |
| Enemy | Attack | Player in attack range | Does damage happen during the attack window? |
| Enemy | Hurt | Receives damage | Does hit feedback show every valid hit? |
| Enemy | Death | HP ≤ 0 | Does the enemy stop AI and collisions? |
| NPC | Talk pose | Dialogue opens | Does pose return to idle afterward? |
| Door | Open | Unlock condition true | Does collision/blocked state update too? |
#Step C1: Create or preview animations
#Step C2: Assign animation names consistently
idle, walk, attack, hurt, death.#Step C3: Trigger animation from gameplay state
#Tutorial D: Add VFX to combat, rewards, and doors
Goal: make hits, rewards, unlocks, saves, and spells visible at the exact moment they happen.
| VFX | Trigger | Spawn position | Cleanup |
|---|---|---|---|
| Hit spark | Player attack overlaps enemy hurtbox | Enemy or hit point | One-shot |
| Enemy death puff | Enemy HP reaches 0 | Enemy position | Remove enemy after effect or delay |
| Reward sparkle | Reward granted | Player, chest, NPC, or reward icon | One-shot |
| Door unlock glow | Quest completed / door switch true | Door event | Stop after door opens |
| Spell impact | Skill hits target | Target or impact point | One-shot |
| Quest complete burst | Objective completed | HUD or player | Short UI effect |
| Save point aura | Player enters save point | Save point event | Loop while active |
| Region fog/weather | Player enters weather zone | Region/map overlay | Fade on leave |
#Step D1: Create or select one VFX
hit_spark.#Step D2: Spawn VFX from Visual Logic
#Step D3: Add death/reward/door effects
#Tutorial E: Add UI feedback that confirms progress
Goal: use UI Builder not only for layout, but also to confirm state changes during gameplay.
| Feedback | Trigger | UI result | Pairs well with |
|---|---|---|---|
| Quest start | Dialogue choice accepted | Objective appears | Quest jingle |
| Quest progress | Enemy death / item collected | Counter updates | Small tick SFX |
| Quest complete | Objective done | Banner/toast | VFX burst + jingle |
| HP changed | Damage/heal | HP bar changes/flashes | Hit/heal SFX |
| Pickup | Item collected | Icon/counter appears | Pickup SFX/sparkle |
| Locked door | Interact while locked | “Locked” prompt | Error sound |
| Interact prompt | Player enters interaction range | “Press E” prompt | None or subtle UI tick |
#Step E1: Add only three UI confirmations first
#Step E2: Bind UI to state changes
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.
#Step F1: Choose the trigger
old_door_unlocked = true to play a door-unlock cutscene.#Step F2: Lock player control
#Step F3: Move or focus the camera
#Step F4: Add dialogue, audio, animation, and VFX beats
#Step F5: Update state and return control
cutscene_seen, door_unlocked, or boss_active as needed.#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.
| Beat | Tool/system | Beginner-safe check |
|---|---|---|
| Player enters region | Map Editor region / Visual Logic trigger | Trigger fires once unless intended otherwise. |
| Control locks | Cinematic Editor / Visual Logic | Player cannot move during camera pan. |
| Door closes | Map event / door graph | Collision and visual state match. |
| Camera pans | Cinematic Editor / camera action | Target is visible and timing is short. |
| Boss animates | Animation Studio / enemy scene | Animation name matches state. |
| Dialogue appears | Narrative Weaver | Dialogue does not start the fight too early. |
| Roar SFX + burst VFX | Sound Studio + VFX | Sound and VFX happen at the same beat. |
| Battle music starts | Sound Studio / Visual Logic | Map BGM stops or lowers correctly. |
| AI activates | Enemy AI / Visual Logic | Boss does not attack before control returns. |
| Control returns | Cinematic Editor / Visual Logic | Fight 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
| Pass | Add | Stop when |
|---|---|---|
| Audio | Five core SFX + map/battle music | Sounds trigger once at correct moments. |
| Animation | Idle/walk/attack/hurt/death states | States change visibly in Quick Play. |
| VFX | Hit, death, reward, door effects | Effects spawn at correct positions. |
| UI | Objective, HP, prompt, reward feedback | Player always knows the next goal. |
| Cinematic | One short intro or unlock beat | Control locks/returns safely. |
| Performance | Check heavy effects and UI spam | Quick Play remains responsive. |
| Export | Preflight + Godot export checks | Missing 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.
| Tool | Use it when | Bridge workflow | Validation check |
|---|---|---|---|
| Almanac | You need a daily starting hub | Choose DNA → open recommended tool path → follow one scenario route | Selected profile matches the game loop you are building. |
| Scene Composer | You need a starter scene or actor | Template → customize one property → save under project folder → validate | Scene opens, has expected nodes, and is not saved inside addons. |
| Sketch Enhancer | You have rough visual ideas | Sketch → enhance → export as sprite/icon/UI concept → assign through Generated Asset Browser | Asset rights and output path are clear. |
| Gameplay Director | You need pacing/encounter help | Loop goal → encounter/reward pacing → map/quest/combat adjustment | Player always knows the next goal and challenge. |
| Ideation Board | You have too many ideas | Idea cards → choose one loop → convert to scenario checklist → build only that loop | One buildable vertical slice is selected. |
| Procedural Toolkit | You need generated maps, sounds, names, icons, VFX, palettes, or assets | Generate → inspect report → register asset → assign → validate → Quick Play | Generated asset appears in project-owned folder and validates. |
| Generated Asset Browser | You need to organize/apply generated content | Select asset → inspect metadata/report → assign supported key → validate usage | Unsupported assignments are not presented as automatic runtime binding. |
| AI Dream Advisor | You need guidance | Ask a narrow question → compare with docs/validator → apply only one safe change | Suggestion is checked against the project before use. |
| Database | You need reusable game data | Create item/enemy/quest/actor → assign ID → use in graph/map/event | IDs match exactly across tools. |
| Asset Pipeline | You import or convert external assets | Import → normalize path/name → assign category → validate dependency | User owns or is licensed to use the asset. |
| Performance Panel | Scene becomes slow | Test after adding VFX/UI/audio → identify heavy effects → reduce or disable | Quick Play remains responsive. |
| Module Manager | You need feature visibility/control | Review required modules → avoid disabling core dependencies → validate tools | Needed systems still appear and no missing-module errors remain. |
| Migration Assistant | You update from older versions | Backup → run migration → inspect changed paths/resources → validate | Old projects still open and references resolve. |
| Bake Manager | You prepare generated/data-heavy content | Validate inputs → bake supported data → test baked output → keep source backup | Baked output is reproducible and not mistaken for final export. |
| Asset Cleaner | You want to remove clutter | Review unused candidates → confirm not referenced by graphs/scenes → delete carefully | No broken references after cleanup. |
| Export Manager | You prepare release builds | Validate → clean/bake/preflight → Godot export templates/platform checks → test exported build | No 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
- Can the sound preview in Sound Studio?
- Is the project path still valid?
- Is the Visual Logic action after the real event?
- Is volume/mute set correctly?
- Does a temporary input trigger play it?
#Music stacks or never stops
- Check map BGM versus battle BGM ownership.
- Confirm combat start/end triggers both exist.
- Do not start the same loop repeatedly on every frame.
- Restore map music after battle/cutscene ends.
#Animation does not switch
- Check animation names exactly.
- Confirm the state actually changes.
- Test one animation with a temporary trigger.
- Check whether attack/hurt locks need to end.
#VFX appears in the wrong place
- Check local versus global coordinates.
- Spawn on the target object first.
- Check if the effect is parented to UI, map, or actor.
- Test with a visible placeholder effect.
#Cutscene never returns control
- Confirm an end beat exists.
- Check the return-control action.
- Check dialogue/camera wait completion.
- Add a debug fallback key only while testing.
#UI feedback does not update
- Confirm the HUD scene is loaded.
- Check label/bar node path.
- Confirm the state/event actually changes.
- 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.
| Symptom | Most likely missing link | First checks |
|---|---|---|
| NPC does nothing | Trigger or graph assignment | InteractionArea, event trigger, DreamBehavior graph, signal name |
| Dialogue opens but quest does not start | Choice consequence link | Choice ID, graph call, quest ID, switch/variable name |
| Door never opens | State condition | Door graph, unlock switch, quest completion, condition branch |
| Attack animation plays but no damage | Hitbox/hurtbox/damage graph | AttackArea, Hurtbox, collision layers, damage formula |
| Enemy does not chase | Detection/navigation/AI state | DetectionArea, AI graph, navigation, collision blockers |
| HUD does not update | State binding or signal | HUD instance, data source, update graph, signal connection |
| Validator complains about missing resource | Broken reference | File 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
DreamTemplateDatatemplates 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
.tscnfiles 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
.tresfiles. - 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:
- Choose the resource category, such as Item, Enemy, Quest, Shop, Skill, or Dialogue.
- Create the resource or open an existing
.tresfile. - Fill required fields such as ID/name/description/references.
- Assign generated icons, loot tables, name tables, formulas, or palettes where supported.
- Save into your project, preferably under a clear folder such as
res://dream/database/items/or your normal project folders. - 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 pattern | Use it for | Expected result in Godot |
|---|---|---|
| Interaction | NPC talk, sign reading, door check, save point. | Interacting with an Area or event runs the graph once. |
| Pickup | Coins, keys, items, rewards. | The item disappears or changes state, inventory/currency updates, and feedback plays. |
| Damage zone | Hazards, traps, spikes, lava, enemy contact. | Entering the area changes HP or state and shows feedback. |
| Dialogue choice | Branching NPC choices, accept quest, reject quest, shop option. | Choosing an option changes variable/switch/quest state. |
| Quest state | Start, 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
- Place or select an NPC/interactable object.
- Create or assign a dialogue resource.
- Add a Visual Logic sequence: When player interacts → Show dialogue.
- Save and Quick Play.
#Locked door
- Place a door or transfer event.
- Create a key item resource.
- Create a Visual Logic sequence: When player interacts → Check key item → Open door or show locked message.
- Validate missing item/scene references.
#Chest reward
- Create an item resource.
- Place a chest event.
- Add logic: Interact → If not opened → Give item → Play sound/VFX → Set opened true.
- Validate the item reference and test twice to confirm it does not give infinite rewards unless intended.
#Quest start
- Create a quest resource.
- Create an NPC dialogue.
- Add logic: Talk to NPC → Start quest → Show objective → Update quest log.
- Validate quest references and rewards.
#Damage zone
- Place an Area2D/Area3D or map danger region.
- Add logic: Actor enters → Deal damage → Play effect.
- 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:
- Choose the UI type or template.
- Pick layout and theme settings.
- Customize labels, icons, colors, sizing, and placement.
- Connect UI elements to resources or game state where supported.
- Preview the UI.
- Save it as project content.
- 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:
- Create a dialogue or chapter resource.
- Add speaker names and lines.
- Add a choice if needed.
- Connect the dialogue to an NPC or map event.
- Validate missing portraits, backgrounds, variables, or quest references.
- 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:
- Start a scene.
- Move or focus the camera on an NPC/object.
- Show dialogue.
- Play a sound or VFX.
- Return control to the player.
- 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.
#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.
#Start safely
#Enable Dreamcatcher
#Choose Universal or Platformer DNA
#Create a starter scene
#Add one visible object
#Give the object one reaction
#Attach the reaction to the object
#Validate the scene
#Quick Play
#Save and name the success
#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.
#Choose Platformer DNA
#Create or open a platformer scene
#Confirm player spawn
#Confirm camera follow
#Add a pickup
#Connect pickup to feedback
#Add a hazard
#Add a checkpoint
#Add an exit trigger
#Add a minimal HUD if needed
#Validate and Quick Play
#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.
| Step | Action | Why | Expected result |
|---|---|---|---|
| 1 | Choose Action RPG DNA. | Prioritizes actors, enemies, quests, loot, maps, and NPCs. | Action RPG workflow is selected. |
| 2 | Create a small room or field scene. | Keeps the quest loop testable. | A playable test area exists. |
| 3 | Create one quest resource in Database. | The quest needs a stable data record. | A quest resource exists with objective and reward. |
| 4 | Create one enemy and one reward item. | The quest must have a target and payoff. | Enemy and item resources exist. |
| 5 | Place one NPC and connect dialogue. | The player needs someone who gives the quest. | NPC starts the quest through dialogue/event logic. |
| 6 | Place one enemy encounter. | The quest needs a simple objective. | Defeating the enemy updates the objective. |
| 7 | Connect reward and completion. | The loop must end cleanly. | Player receives reward once and quest completes. |
| 8 | Validate and Quick Play. | Confirms the full loop works. | Quest starts, updates, rewards, and completes. |
#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.
| Step | What to do | Why | Expected result |
|---|---|---|---|
| 1 | Choose Visual Novel DNA. | Prioritizes dialogue, choices, characters, backgrounds, and UI. | VN-friendly workflow is selected. |
| 2 | Create a dialogue/chapter in Narrative Weaver. | Story needs a sequence container. | A dialogue flow exists. |
| 3 | Add one character line. | The player needs a readable scene beat. | Dialogue text appears. |
| 4 | Add one player choice. | Choices create branching. | Two branches exist. |
| 5 | Set one variable or switch from the choice. | The game needs memory of the choice. | A value changes when the player chooses. |
| 6 | Preview 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.
| Step | Action | Why | Expected result |
|---|---|---|---|
| 1 | Open Procedural Toolkit → Dungeon/Maps. | Start with the map generator designed for this job. | Dungeon settings are visible. |
| 2 | Set a small size first, then Generate. | Small outputs are easier to debug. | A generated dungeon asset appears. |
| 3 | Open Generated Asset Browser. | Every generated asset should be inspectable. | The dungeon appears with metadata/report. |
| 4 | Open or convert it as editable map content. | Generated content should become project content. | Editable map/scene is available. |
| 5 | Add one chest, enemy, or exit. | A dungeon needs at least one gameplay event. | An event exists in the dungeon. |
| 6 | Validate 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.
| Phase | Small first version | Continue only when |
|---|---|---|
| Core loop | One player, one map, one interaction. | You can play it twice without changing code. |
| Quest loop | NPC asks player to defeat one enemy. | Quest starts, updates, rewards, and completes. |
| Collection loop | One enemy/item can be captured or added to roster/feature list. | The save state survives scene reload/test. |
| UI feedback | One HUD value updates. | Player understands what changed. |
| Audio/VFX feedback | One action plays sound or VFX. | Feedback is clear but not noisy. |
| Preflight | Run validation and export preparation. | Blocking issues are fixed or documented. |
#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.
- Back up the whole project folder.
- Open the copy, not the original.
- Install and enable Dreamcatcher.
- Do not move existing files yet.
- Create one separate Dreamcatcher test scene.
- Run Content Validator and read warnings before applying fixes.
- Adopt tools gradually: Scene Composer, Visual Logic, Generated Asset Browser, then other systems.
#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.
- Choose Universal or Action RPG DNA.
- Open Map Editor and create a small map, such as 10×10.
- Assign a user-owned tileset or placeholder TileSet.
- Paint ground first, then walls.
- Place player spawn in a safe tile.
- Place one NPC or sign and one chest.
- Add one exit door or transfer trigger.
- Validate and Quick Play.
#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.
- Decide one value to show: score, coins, HP, or quest text.
- Open UI Builder and choose a HUD layout.
- Add a Label or Resource Counter.
- Name it clearly, such as ScoreLabel or CoinCounter.
- Preview the UI.
- Save/export as a .tscn UI scene.
- Instance it in the playable scene.
- First show static text; connect dynamic values later.
#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.
- Open Visual Logic.
- Create a new graph or sequence.
- Add a start/event node.
- Add one action node, such as show dialogue, show notification, or print message.
- Connect the execution wire.
- Save the graph as a .dcs file.
- Select a scene object or map event.
- Attach the graph through DreamBehavior or the event editor.
- Validate and Quick Play.
#Micro-tutorials for common first tasks
#Make a chest that opens once
- Create a reward item in Database.
- Place a chest event in Map Editor.
- Page 1: show message, add item, play sound, set self-switch A.
- Page 2: condition self-switch A; show “already opened.”
- Validate and Quick Play.
#Make a locked door with a key
- Create a key item.
- Place a door event.
- If player has key: unlock/open/transfer.
- Else: show “Locked.”
- Validate and test both outcomes.
#Make an NPC start a quest
- Create a quest resource.
- Place an NPC event.
- Add dialogue that explains the task.
- Set quest state to started.
- Validate and test the conversation.
#Starter path for every featured tool
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.
| Tool | First click path | First safe action | Expected result |
|---|---|---|---|
| Almanac | Dreamcatcher dock → Almanac | Open the hub and choose one recommended next action. | You know which tool to open next. |
| Visual Logic | Dreamcatcher dock → Visual Logic | Create Event → Action → Feedback graph. | A saved `.dcs` or sequence exists. |
| Scene Composer | Dreamcatcher dock → Scene Composer | Choose one starter template and create/export a scene. | A `.tscn` scene exists. |
| UI Builder | Dreamcatcher dock → UI Builder | Choose HUD layout, add one Label, preview, save. | UI scene appears. |
| Narrative Weaver | Dreamcatcher dock → Narrative Weaver | Create two speaker lines and one choice. | Dialogue resource/flow exists. |
| Map Editor | Dreamcatcher dock → Map Editor | Create small map, paint ground, add spawn. | Map scene/layers exist. |
| Animation Studio | Dreamcatcher dock → Animation Studio | Preview or create idle/walk animation. | Animation data/preview exists. |
| Sound Studio | Dreamcatcher dock → Sound Studio | Generate/select one SFX and play it. | SFX asset/record exists. |
| Cinematic Editor | Dreamcatcher dock → Cinematic Editor | Create fade → dialogue → return-control sequence. | Cutscene sequence exists. |
| Sketch Enhancer | Dreamcatcher dock → Sketch Enhancer | Import user-owned sketch, enhance, save/register. | Generated visual asset record exists. |
| Gameplay Director | Dreamcatcher dock → Gameplay Director | Plan one encounter/quest pacing loop. | Gameplay rule/plan exists. |
| Ideation Board | Dreamcatcher dock → Ideation Board | Write five cards: player, goal, obstacle, reward, test. | Small design plan exists. |
| Procedural Toolkit | Dreamcatcher dock → Procedural Toolkit | Generate one small dungeon/icon/palette/SFX. | Generated asset report appears. |
| Generated Asset Browser | Dreamcatcher dock → Generated Asset Browser | Filter, open one record, read metadata/report. | You know output path and warnings. |
| AI Dream Advisor | Dreamcatcher dock → AI Dream Advisor | Ask for next step, then verify with docs/validator. | Guidance is reviewed, not blindly trusted. |
| Database | Dreamcatcher dock → Database | Create one Item or Enemy resource with clear ID. | `.tres` resource exists. |
| Content Validator | Dreamcatcher dock → Content Validator | Validate current scene or project. | Warnings/errors report appears. |
| Asset Pipeline | Dreamcatcher dock → Asset Pipeline | Import/process one user-owned image/audio file. | Processed project content exists. |
| Performance Panel | Dreamcatcher dock → Performance Panel | Quick Play and watch FPS/budget. | Performance signal appears. |
| Module Manager | Dreamcatcher dock → Module Manager | Check enabled systems; do not enable everything blindly. | Module state understood. |
| Migration Assistant | Dreamcatcher dock → Migration Assistant | Back up, scan old content, migrate carefully. | Migration report appears. |
| Bake Manager | Dreamcatcher dock → Bake Manager | Bake only after validation passes. | Baked output/report exists. |
| Asset Cleaner | Dreamcatcher dock → Asset Cleaner | Review unused generated tests before deleting. | Cleanup candidates listed. |
| Export Manager | Dreamcatcher dock → Export Manager | Run export preflight after validation. | Export readiness report appears. |
#The 24 featured tools reference
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 family | What it represents | Usually edited with | Common warning |
|---|---|---|---|
| Actors, combat, and RPG data | Actors, 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 economy | Items, 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 quests | Dialogue, chapters, quests, choices, progress state. | Narrative Weaver, Visual Logic, Map Editor events. | NPC dialogue opens but choice/quest state does not update. |
| Generated asset metadata | Generated 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 data | Tileset 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 resources | Cards, 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
| Autoload | Plain-language purpose | Normal user interaction | When to troubleshoot it |
|---|---|---|---|
| DreamCore | Core plugin/runtime coordination service. | You rarely interact with it directly; it supports Dreamcatcher runtime systems. | Plugin-wide runtime errors, missing core service, startup issues. |
| DreamAudio | Shared 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. |
| DreamInput | Shared input/action handling. | Use input setup, player tools, and Godot Input Map. | Interact, attack, confirm, cancel, or movement actions do not respond. |
| DreamDirector | High-level gameplay/director coordination. | Use Gameplay Director, events, pacing systems, and tool workflows. | Director-driven encounters, pacing, or orchestration do not trigger. |
| DreamSceneManager | Scene 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. |
| DreamGameLoop | Runtime game-loop foundation. | Usually indirect through gameplay systems and Quick Play. | Runtime loop or game-state update behavior seems broken. |
| DreamHUD | Runtime HUD/UI support. | Use UI Builder, HUD scenes, and UI feedback workflows. | HP, objective, quest, pickup, or currency feedback does not update. |
| DreamEquipment | Equipment and inventory RPG support. | Use Database resources, actor data, weapons, armor, and RPG workflows. | Equipment stats, gear changes, or actor equipment state fails. |
| DreamCutscene | Cutscene 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. |
| DreamAchievements | Achievement state/support service. | Use achievement resources/workflows where supported. | Achievement unlocks or persistence do not behave as expected. |
| DreamWeather | Weather and runtime environment service. | Use Map Editor weather zones and weather-related visual/audio workflows. | Weather zone does not apply, transition, or reset. |
| DreamEntityServer | Entity registry/server support. | Usually indirect through runtime systems. | Entity lookup, spawn, or management issues in advanced projects. |
| DreamLocalization | Localization and translated string support. | Use localization settings/resources and translated editor/runtime strings. | Text does not switch language or localization keys are missing. |
| DreamMapReveal | Map reveal, fog, and discovery support. | Use map reveal/progression workflows where relevant. | Explored areas or reveal state do not update/persist. |
| DreamFSMController | Finite-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. |
| DreamTween | Shared tween/transition animation helper. | Usually indirect through screen effects, transitions, UI, and cutscenes. | Smooth movement, fade, or timing helper behavior fails. |
| DreamScreenFX | Screen effects service. | Use VFX, screen flash, shake, fade, and cinematic feedback. | Screen shake, fade, or flash does not appear or remains stuck. |
| DreamNetSync | Networking synchronization foundation. | Advanced only; use networking docs and test authority/latency carefully. | Multiplayer synchronization or networked state does not update. |
| DreamAccessibility | Accessibility settings/support. | Use accessibility options, UI settings, text/input/display support. | Accessibility options do not apply or persist. |
| DreamPool | Object pooling/performance helper. | Usually indirect through VFX, spawned objects, and performance-sensitive systems. | Spawned effects/entities leak, duplicate, or performance degrades. |
| DreamPhysicsLayers | Physics layer/collision helper. | Use player/map/collision setup and map validation. | Collision, pickups, triggers, or hitboxes do not detect correctly. |
| DreamEventBus | Event messaging between systems. | Indirect through Visual Logic, Narrative Weaver, UI, quests, and gameplay events. | Something happens but another system does not receive the event. |
| DreamDialogueManager | Runtime 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. |
| DreamRuntimeTheme | Runtime UI theme/style support. | Use UI Builder and runtime theme workflows. | UI theme does not apply or changes unexpectedly. |
| DreamConditionalAssets | State-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. |
| DreamCharacterRegistry | Character lookup, portrait, and speaker support. | Use character/dialogue resources and Narrative Weaver. | Dialogue speaker, portrait, actor lookup, or character reference fails. |
| DreamTransition | Scene/screen transition support. | Use scene transition, fade, door, teleport, and cinematic flows. | Fade/transition does not play or scene changes abruptly. |
| DreamSceneFlowRuntime | Runtime 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
- Confirm Dreamcatcher is enabled in Project Settings → Plugins.
- Confirm the module that owns the feature is enabled.
- Check Project Settings → Autoload to verify presence, not to edit plugin scripts.
- Check the Godot Output panel for missing singleton, missing resource, or missing method messages.
- Check the scene node, resource, tool, and Inspector configuration before changing plugin files.
- Run Content Validator or the relevant map/generated-asset validator.
- In existing projects, check whether another autoload or manager conflicts with the same role.
- Only advanced users should change autoload mode or plugin files, and only after backing up the project.
| Symptom | Likely cause | Safe 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?
| Goal | Start with | Avoid at first |
|---|---|---|
| Playable character or test actor | DreamActor, DreamActor2D, or a Scene Composer template that already includes a player. | Runtime manager nodes unless a tutorial asks for them. |
| Interaction, pickup, checkpoint, or trigger | DreamInteractable, DreamInteractable2D, DreamPickup, DreamPickup2D, DreamTrigger, DreamTrigger2D. | Manually wiring many signals before one simple test works. |
| Combat test | DreamHitbox, DreamHurtbox, DreamHitbox2D, DreamHurtbox2D, plus an actor/enemy resource. | Large combat systems before a single hit registers correctly. |
| Dialogue UI | DreamDialogueBox or a Narrative Weaver dialogue workflow. | Editing dialogue runtime scripts directly. |
| HUD/UI | UI 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 question | What to check | Safe 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.md | Everyone / support | Current package inventory, installation notes, scope summary, and support information. |
Documentation.html | Everyone | Short bundled package documentation overview. |
RELEASE_NOTES_v0.9.0.md | Everyone / historical reference | First public beta / founder build scope and boundaries. |
RELEASE_NOTES_v0.9.1.md | Everyone / historical reference | Stability, bug-fix, and Godot 4.6.2 compatibility pass. |
RELEASE_NOTES_v0.9.2.md | Everyone / historical reference | Foundation, metadata clarity, project-owned path discipline, and validation groundwork. |
RELEASE_NOTES_v0.9.3.md | Everyone | TileMapLayer map editor, map events, regions, encounters, music/weather/collision/navigation workflows. |
RELEASE_NOTES_v0.9.4.md | Everyone | Generated asset registry/browser, generated database/map outputs, assignment metadata, and validator reliability. |
CHANGELOG.md | Advanced users | Chronological version history. |
GUARANTEES.md | Buyers / advanced users | Project ownership, portability, no-lock-in, and exit-ladder framing. |
EXTENSIBILITY.md | Advanced users / integrators | Extension and SDK details. |
BRAND_NOTICE.md | Everyone | Naming and third-party brand guidance. |
THIRD_PARTY_NOTICES.md | Everyone | Legal/asset-rights notices. |
assets/README.md | Users importing or reviewing bundled assets | Asset-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 inaddons/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:
- Genre DNA: choose a direction.
- Scene Composer or Map Editor: create one small scene/map.
- Visual Logic or Map Event: add one interaction.
- Content Validator: fix missing references/warnings.
- 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.
#Recommended game-building order
#Full game dependency order
Build in dependency order. Do not build every feature at once.
- Choose one DNA/profile.
- Define one-sentence game goal.
- Define first playable loop.
- Create a clean test project.
- Create player scene and input.
- Create one scene/map.
- Add one interaction.
- Create only the resources required by that interaction.
- Create the logic graph or map event.
- Attach the graph/event to the scene object.
- Validate.
- Quick Play.
- Add UI feedback.
- Add audio/VFX feedback.
- Add save/progression only after the loop works.
- Expand to one vertical slice.
- Duplicate the pattern for more content.
- Clean unused generated tests.
- Performance check.
- Export preflight.
- 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.
- Create or choose a player scene.
- Use the correct base:
- 2D: CharacterBody2D / DreamActor2D-style setup.
- 3D: CharacterBody3D / DreamActor-style setup.
- Add sprite/model and collision.
- Add or verify camera.
- Configure input actions.
- Create
DreamActorDataif RPG/combat/stats are needed. - Set faction, base stats, equipment, skills as needed.
- Attach logic graphs for interaction/damage/special actions.
- Validate.
- 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
- Prepare artwork you created, own, or are licensed to use.
- Import the image into the Godot project.
- Choose the correct tile size: 16, 32, 48, 64, etc.
- Use Godot TileSet or Dreamcatcher import helper.
- Check that tiles appear in the palette.
- Paint a small test map.
- 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
- Generate map/dungeon/overworld with Procedural Toolkit or a generator.
- Open Generated Asset Browser.
- Inspect preview, metadata, report, output path, dependencies.
- Validate the generated asset.
- Apply/open as editable map scene where supported.
- Confirm the map uses real layers and project-owned paths.
- Edit tiles/events/regions in Map Editor.
- Save under
res://dream/maps/generated/or user project folders. - Validate map structure.
- 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.
#Common links
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
- Generate one asset with Procedural Toolkit, Sound Studio, Sketch Enhancer, map/dungeon generator, or converter.
- Save under project-owned folder such as
res://dream/generated/. - Open Generated Asset Browser.
- Inspect type, metadata, preview, report, output path, dependencies, assignment keys.
- Validate the generated asset.
- Assign/apply where supported.
- Use the output in a scene/resource/map/UI.
- Duplicate if useful.
- Regenerate only if the type supports deterministic stored-preset regeneration.
- 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
- Decide UI purpose: HUD, menu, feature list, dialogue box, shop, settings, pause.
- Choose device/layout/theme.
- Add components.
- Bind or plan values: HP, MP, currency, quest objective, item icon.
- Preview.
- Export/save as
.tscnproject content. - Add UI scene to game scene or runtime UI flow.
- Connect UI to variables/resources/Visual Logic where supported.
- Validate missing textures/fonts/icons/references.
- 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.
| Question | What 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 part | Required explanation |
|---|---|
| Goal | What you is building and why it matters. |
| Click path | Where to go in Godot or Dreamcatcher before each action. |
| Expected result | What appears on screen after the step works. |
| Created or changed | The scene, node, resource, graph, map event, or setting that changed. |
| Failure recovery | The first safe fix if the step does not work. |
| Continue when | A 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
You should see Dreamcatcher tools, docks, or menu entries after enabling the plugin.
#First scene open
The scene should appear in the Scene dock and FileSystem, not only inside a generator preview.
#First interaction placed
The object should be selectable and should have either an event, graph, or behavior assigned.
#Visual Logic graph saved
The graph is not complete until something in the scene can run it.
#Validator report
Fix blocking errors before adding more systems. Warnings can often be handled one at a time.
#Quick Play result
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 |
#Featured tools reference
| # | 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.
| Symptom | Likely cause | Safe 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.mdCHANGELOG.mdCOMPATIBILITY.mdEXTENSIBILITY.mdGUARANTEES.mdREADME.mdRELEASE_NOTES_v0.9.0.mdRELEASE_NOTES_v0.9.1.mdRELEASE_NOTES_v0.9.2.mdRELEASE_NOTES_v0.9.3.mdRELEASE_NOTES_v0.9.4.mdTHIRD_PARTY_NOTICES.mdassets/README.md
#Translation resources
i18n/dreamcatcher_strings.ar.translationi18n/dreamcatcher_strings.de.translationi18n/dreamcatcher_strings.en.translationi18n/dreamcatcher_strings.es.translationi18n/dreamcatcher_strings.fr.translationi18n/dreamcatcher_strings.it.translationi18n/dreamcatcher_strings.ja.translationi18n/dreamcatcher_strings.ko.translationi18n/dreamcatcher_strings.pt.translationi18n/dreamcatcher_strings.ru.translationi18n/dreamcatcher_strings.zh.translationi18n/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.
| Need | Open | Why |
|---|---|---|
| General setup and first project | This user guide and README.md | Start here before reading advanced files. |
| What changed between releases | CHANGELOG.md, RELEASE_NOTES_v0.9.4.md | Useful after updating the plugin. |
| Brand, asset rights, or third-party notices | BRAND_NOTICE.md, THIRD_PARTY_NOTICES.md, assets/README.md | Use these before releasing or redistributing projects/assets. |
| Advanced extension work | EXTENSIBILITY.md, COMPATIBILITY.md, GUARANTEES.md | Useful for advanced users who modify or integrate the plugin deeply. |
| Localized UI strings | i18n/*.translation and i18n/dreamcatcher_strings.csv | Use 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 area | Common symptom | Likely cause | Safe fix |
|---|---|---|---|
| Runtime service | Feature 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 node | Node type or dock is missing. | Module disabled, plugin not enabled, editor needs restart. | Enable Dreamcatcher/module, restart Godot, then search the node again. |
| Resource/database | Scene 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 Logic | Graph 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 assets | Asset 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 binding | HUD 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/preflight | Exported 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
- Create a clean Godot 4.7 stable project, or use Godot 4.6.3 for an existing 4.6.x project.
- Copy
addons/dreamcatcher/into the project. - Enable Dreamcatcher in Project Settings → Plugins.
- Confirm no parse errors on load.
- Confirm plugin version badge/metadata shows v0.9.4.
- Confirm Godot version gate accepts 4.6.x.
- Confirm all expected docks/tools appear once; no duplicate docks after restart.
- Disable plugin; confirm docks/custom types/autoloads are removed cleanly.
- Re-enable plugin; confirm no duplicate registrations.
- 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
- Choose Universal or Platformer DNA.
- Create/open one starter scene.
- Add one player or test actor.
- Add one interaction using Visual Logic or a map event.
- Save a
.dcsgraph underres://dream/logic/. - Attach it with
DreamBehavior.logic_script. - Test
run_on_ready=falseplus a realtrigger_signal. - Run Content Validator.
- Run Quick Play.
- Confirm both success and failure paths are visible.
#Map checks
- Create a new map.
- Confirm default TileMapLayer stack appears: Ground, Terrain, Walls, Objects, Furniture, Decorations, Roofs, Shadows.
- Assign/import a TileSet.
- Paint on two visual layers.
- Use picker, eraser, rectangle, bucket, line, ellipse, and scatter without corrupting other modes.
- Place door, chest, NPC, pickup, save point, shopkeeper, quest giver, enemy encounter, cutscene trigger, teleport, music zone, and weather zone test events.
- Test event pages, conditions, triggers, self-switches, and commands.
- Paint encounter/music/weather/safe/danger/navigation regions.
- Confirm
DreamRegionQuerybehavior where runtime region behavior is expected. - Validate map and Quick Play from expected spawn.
#Generated asset checks
- Generate one output from every Procedural Toolkit tab.
- Confirm outputs save under project-owned
res://dream/...paths. - Open Generated Asset Browser.
- Confirm asset type, preview, report, metadata, dependencies, and output path are visible.
- Validate each generated asset.
- Test assignment/apply for supported icon/sprite/audio/VFX/database/palette/formula/UI keys.
- Confirm unsupported assignments are disabled or clearly explained.
- Regenerate a supported map/dungeon/overworld preset and compare output.
- Delete a test asset through safe review; confirm registry/file behavior is documented accurately.
#Export preflight checks
- Run Content Validator.
- Run generated asset validation.
- Run Asset Cleaner in review mode.
- Run Bake Manager if data is used.
- Run Export Manager / Export Preflight.
- Confirm missing Godot export templates/SDK/platform settings are reported without claiming Dreamcatcher replaces them.
- Create one local desktop test export with official Godot templates.
- 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 type | First safe workflow | Likely keys or contexts | Validation step |
|---|---|---|---|
| map | Generate small map → inspect layers → assign player spawn → validate map. | map_bgm | Inspect → assign supported key/field → validate → Quick Play. |
| overworld | Generate overworld → choose safe start area → add travel/region rule → validate. | actor_overworld_sprite | Inspect → assign supported key/field → validate → Quick Play. |
| dungeon | Generate dungeon → verify rooms/corridors/collision → add one encounter/reward. | Context-specific assignment / metadata trace | Inspect → assign supported key/field → validate → Quick Play. |
| sprite | Generate/import sprite → assign to actor/enemy/event → Quick Play visibility. | actor_battle_sprite, actor_overworld_sprite, enemy_battle_sprite | Inspect → assign supported key/field → validate → Quick Play. |
| icon | Generate icon → assign to item/skill/quest/currency key → UI preview. | item_icon, skill_icon, quest_icon, currency_icon | Inspect → assign supported key/field → validate → Quick Play. |
| music | Preview loop → assign map_bgm/battle_bgm/region_bgm → test transitions. | map_bgm, battle_bgm, region_bgm | Inspect → assign supported key/field → validate → Quick Play. |
| sfx | Preview 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_cast | Inspect → assign supported key/field → validate → Quick Play. |
| vfx | Preview one-shot → spawn at target → cleanup and performance check. | spell_impact | Inspect → assign supported key/field → validate → Quick Play. |
| loot_table | Generate loot table → assign enemy/chest → validate reward output. | loot_table | Inspect → assign supported key/field → validate → Quick Play. |
| database_resource | Generate data → inspect fields → connect to Database/scene. | database_reference | Inspect → assign supported key/field → validate → Quick Play. |
| name_table | Generate names → assign NPC/creature/loot context → validate trace. | name_table | Inspect → assign supported key/field → validate → Quick Play. |
| palette | Generate palette → assign UI theme/sprite style → check contrast. | ui_theme_palette | Inspect → assign supported key/field → validate → Quick Play. |
| shape_3d | Generate 3D shape → place in scene → collision/performance check. | Context-specific assignment / metadata trace | Inspect → assign supported key/field → validate → Quick Play. |
| isometric_scene | Generate isometric scene → inspect camera/tile layout → validate. | Context-specific assignment / metadata trace | Inspect → assign supported key/field → validate → Quick Play. |
| dialogue_ui | Generate UI → bind dialogue/choice actions → test confirm/cancel. | ui_scene | Inspect → assign supported key/field → validate → Quick Play. |
| formula_preset | Generate formula → assign damage_formula or economy field → test values. | damage_formula | Inspect → assign supported key/field → validate → Quick Play. |
| converted_image | Convert image → check import settings/rights/path → assign where supported. | Context-specific assignment / metadata trace | Inspect → assign supported key/field → validate → Quick Play. |
| converted_audio | Convert audio → preview → assign SFX/BGM/ambience key. | Context-specific assignment / metadata trace | Inspect → assign supported key/field → validate → Quick Play. |
#Assignment-key groups
| Group | Keys | Safe expectation |
|---|---|---|
| UI sounds | ui_confirm, ui_cancel, ui_click, ui_error | Assign only where supported; validator should catch missing references or unsupported use. |
| Interaction sounds | chest_open, door_open, item_pickup | Assign only where supported; validator should catch missing references or unsupported use. |
| Quest/battle sounds | quest_start, quest_complete, battle_start, battle_victory, battle_defeat | Assign only where supported; validator should catch missing references or unsupported use. |
| Combat feedback | enemy_hit, enemy_death, player_hit, player_death, skill_cast, spell_impact | Assign only where supported; validator should catch missing references or unsupported use. |
| Music and ambience | map_bgm, battle_bgm, region_bgm, weather_ambience | Assign only where supported; validator should catch missing references or unsupported use. |
| Icons | item_icon, skill_icon, quest_icon, currency_icon | Assign only where supported; validator should catch missing references or unsupported use. |
| Actors/enemies/portraits | actor_portrait, actor_battle_sprite, actor_overworld_sprite, enemy_portrait, enemy_battle_sprite | Assign only where supported; validator should catch missing references or unsupported use. |
| Backgrounds and UI | dialogue_background, title_background, ui_theme_palette, ui_scene | Assign only where supported; validator should catch missing references or unsupported use. |
| Data/formula | loot_table, name_table, damage_formula, database_reference | Assign 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 profile | First playable goal | Recommended first tools | Validation boundary |
|---|---|---|---|---|
| 0 | Universal | Create one room, one actor, one interaction, one feedback message. | Almanac, Scene Composer, Database, Visual Logic, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 1 | Platformer | Player runs, jumps, collects one item, reaches one exit. | Scene Composer, Input Map, Map Editor, Visual Logic, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 2 | Action RPG | Talk to NPC, accept quest, defeat one enemy, get reward, unlock door. | Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 3 | Visual Novel | Title screen, one character scene, one choice, one branching consequence. | Narrative Weaver, Visual Logic, UI Builder, Database, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 4 | Card Battler | Build a small deck, play one card, resolve damage/status, win one encounter. | Database, UI Builder, Visual Logic, Gameplay Director, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 5 | Cozy Farm | Plant, water, wait/grow, harvest, sell or store item. | Scene Composer, Database, Map Editor, Generated Asset Browser, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 6 | Stealth Tactics | Guard patrols, detection cone works, player hides, objective completes unseen. | Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 7 | Survival | Gather item, craft tool, manage one danger/resource, save state. | Scene Composer, Database, Map Editor, Generated Asset Browser, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 8 | Racing | Start race, complete lap/checkpoint, show timer/result screen. | Scene Composer, Input Map, Database, UI Builder, Performance Panel | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 9 | Horror / Psychological | Explore room, trigger atmosphere, find clue, survive one scare/escape beat. | Almanac, Scene Composer, Database, Visual Logic, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 10 | Party Game | One local minigame round, score update, result screen. | Database, UI Builder, Visual Logic, Gameplay Director, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 11 | Board Game | Board path, turn, dice/card action, score/state update. | Database, UI Builder, Visual Logic, Gameplay Director, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 12 | Multiplayer | Lobby/mock players, synchronized test event, safe networking caveats. | Module Manager, Scene Composer, Database, UI Builder, Export Manager | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 13 | Turn-Based RPG | Party vs troop, select command, resolve turn, victory reward. | Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 14 | Puzzle | Introduce rule, solve one room, unlock exit. | Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 15 | Rhythm | Track note timing, hit/miss feedback, result score. | Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 16 | Roguelike / Roguelite | Generated room, enemy, loot, death/reward loop. | Almanac, Scene Composer, Database, Visual Logic, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 17 | Tower Defense | Place tower, spawn wave, damage enemy, wave result. | Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 18 | Fighting (2D) | Character select, stage, light attack, hit reaction, round result. | Scene Composer, Input Map, Database, UI Builder, Performance Panel | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 19 | Fighting (3D Arena) | 3D arena, lock-on/movement, attack, health result. | Scene Composer, Input Map, Database, UI Builder, Performance Panel | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 20 | Sports (Soccer) | Field, player/team object, ball interaction, goal/score. | Scene Composer, Input Map, Database, UI Builder, Performance Panel | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 21 | Sports (Basketball) | Court, ball possession, shot attempt, score/result. | Scene Composer, Input Map, Database, UI Builder, Performance Panel | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 22 | Sports (Tennis) | Court, serve/return, rally, point result. | Scene Composer, Input Map, Database, UI Builder, Performance Panel | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 23 | Simulation / Tycoon | Place object, produce resource, spend/upgrade, show income. | Scene Composer, Database, Map Editor, Generated Asset Browser, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 24 | Sandbox | Spawn/modify object, save change, validate performance. | Scene Composer, Database, Map Editor, Generated Asset Browser, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 25 | Metroidvania | Room, movement ability, locked path, ability gate. | Scene Composer, Input Map, Map Editor, Visual Logic, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 26 | Bullet Hell / Shmup | Player ship, bullet pattern, enemy wave, score/result. | Scene Composer, Visual Logic, Map Editor, Gameplay Director, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 27 | Point & Click Adventure | Clickable hotspot, dialogue/clue, feature list item, locked object solved. | Narrative Weaver, Visual Logic, UI Builder, Database, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 28 | Endless Runner | Auto movement, obstacle, pickup, distance/score. | Scene Composer, Input Map, Map Editor, Visual Logic, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 29 | Card Game (Classic) | Table layout, draw/play action, win/lose condition. | Database, UI Builder, Visual Logic, Gameplay Director, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 30 | Hack & Slash | Enemy group, combo attack, hit feedback, loot/reward. | Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 31 | Idle / Clicker | Click/auto income, upgrade, progress/save. | Almanac, Scene Composer, Database, Visual Logic, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 32 | Auto-Battler / Auto Chess | Shop/buy unit, place unit, auto resolve, reward. | Database, UI Builder, Visual Logic, Gameplay Director, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 33 | Battle Royale | Drop/spawn zone, shrinking area mock, loot, survival result. | Module Manager, Scene Composer, Database, UI Builder, Export Manager | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 34 | MOBA / Arena | Hero, lane/minion objective, ability cast, base/score change. | Module Manager, Scene Composer, Database, UI Builder, Export Manager | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 35 | Educational / Quiz | Question, answer, feedback, score/progress. | Almanac, Scene Composer, Database, Visual Logic, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 36 | Farming RPG / Life Sim | Talk, farm task, calendar/time state, relationship/reward. | Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 37 | FPS / Shooter Foundations | First-person prototype, target, hit feedback, reload/ammo caveat. | Almanac, Scene Composer, Database, Visual Logic, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 38 | 3D Platformer | 3D movement, jump, camera, collectible, goal. | Scene Composer, Input Map, Map Editor, Visual Logic, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 39 | City Builder / Colony Sim | Place building, resource tick, population/need feedback. | Scene Composer, Database, Map Editor, Generated Asset Browser, Content Validator | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 40 | Tactical RPG | Grid unit, move, attack, turn end, objective. | Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 41 | Action Adventure | Explore area, interact, combat/puzzle, reward, transition. | Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI Builder | Validate one first playable loop; avoid claiming final production coverage for the whole genre. |
| 42 | Creature Collector | Encounter creature, capture rule, roster update, battle/reward. | Scene Composer, Map Editor, Database, Visual Logic, Narrative Weaver, UI Builder | Validate 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.
| Tool | Required beginner-safe walkthrough | Connects to | documented scope acceptance check |
|---|---|---|---|
| Almanac | Daily workflow hub: choose DNA, inspect modules/resources, open the next tool, follow docs links, verify status. | Genre DNA, Module Manager, Database, Scene Composer | Validate output, Quick Play one example, and record the first failure/fix. |
| Visual Logic | Full graph lifecycle: choose trigger, build conditions/actions, attach graph, run, debug, validate, reuse templates. | DreamBehavior, Map Events, Narrative Weaver, UI Builder | Validate output, Quick Play one example, and record the first failure/fix. |
| Scene Composer | Template → duplicate → rename → customize → wire data/logic → validate → Quick Play. | Database, Visual Logic, Map Editor, UI Builder | Validate output, Quick Play one example, and record the first failure/fix. |
| UI Builder | HUD/menu binding: HP, quest objective, pickup feedback, responsive previews, UI sounds, validation. | Visual Logic, Sound Studio, Database, Content Validator | Validate output, Quick Play one example, and record the first failure/fix. |
| Narrative Weaver | Dialogue choice → variables/switches/quests/rewards/cutscene/tool bridge examples. | Visual Logic, Quest resources, Cinematic Editor, UI Builder | Validate output, Quick Play one example, and record the first failure/fix. |
| Map Editor | Level-design workflow: layers, collision, navigation, regions, events, spawns, music, weather, validation. | TileMapLayer, Regions, Events, Music/Weather, Navigation | Validate output, Quick Play one example, and record the first failure/fix. |
| Animation Studio | Gameplay-state animation: idle/walk/attack/hurt/death + AI/cinematic triggers. | Player/enemy scenes, Visual Logic, AI/FSM, Cinematic Editor | Validate output, Quick Play one example, and record the first failure/fix. |
| Sound Studio | SFX/music/ambience: create, preview, assign, play, fade, debug. | Generated Asset Browser, Visual Logic, Map Regions, UI Builder | Validate output, Quick Play one example, and record the first failure/fix. |
| Cinematic Editor | Cutscene lifecycle: trigger, lock control, camera, dialogue, audio, VFX, state, return control. | Map regions, Narrative Weaver, Animation, Sound/VFX, state | Validate output, Quick Play one example, and record the first failure/fix. |
| Sketch Enhancer | Sketch → cleaned asset → sprite/icon/UI/background → assign → validate. | Asset Pipeline, Generated Asset Browser, Scene Composer, UI Builder | Validate output, Quick Play one example, and record the first failure/fix. |
| Gameplay Director | Pacing/encounter/difficulty beat plan → implement with maps, events, AI, audio, and validation. | Map Editor, Enemy AI, Audio/VFX, Validator | Validate output, Quick Play one example, and record the first failure/fix. |
| Ideation Board | Idea → vertical-slice checklist → tool selection → tasks → validation gates. | Almanac, Tool workflow table, Scenario routes, Validator | Validate output, Quick Play one example, and record the first failure/fix. |
| Procedural Toolkit | One workflow per generated type and converter/design tab with assignment and cleanup. | Generated Asset Browser, Asset Pipeline, Database, Map Editor | Validate output, Quick Play one example, and record the first failure/fix. |
| Generated Asset Browser | Inspect, assign, trace, fix missing references for every supported type/key. | Procedural Toolkit, Sound/VFX/UI/Database, Validator | Validate output, Quick Play one example, and record the first failure/fix. |
| AI Dream Advisor | Ask → verify against docs/validator → apply safely → never trust blindly. | Docs, Validator, Ideation Board, user review | Validate output, Quick Play one example, and record the first failure/fix. |
| Database | Cookbook for actor/enemy/item/skill/quest/shop/loot/troop/dialogue resources. | Actors, enemies, items, quests, shops, loot, UI/combat | Validate output, Quick Play one example, and record the first failure/fix. |
| Content Validator | Warning catalog with examples, severity, fixes, pass criteria, and evidence notes. | All generated/project content, maps, resources, export preflight | Validate output, Quick Play one example, and record the first failure/fix. |
| Asset Pipeline | Import/convert/naming/folder safety, external asset rights, assignment into scenes/resources. | External assets, converters, Generated Asset Browser, rights guidance | Validate output, Quick Play one example, and record the first failure/fix. |
| Performance Panel | Slow scene triage: particles, audio, UI, AI, maps, generated assets; optimize and re-test. | Maps, VFX, UI, AI, generated assets, export checks | Validate output, Quick Play one example, and record the first failure/fix. |
| Module Manager | Enable/disable, read dependencies, recover failures, keep safe defaults. | Autoloads, modules, custom types, feature visibility | Validate output, Quick Play one example, and record the first failure/fix. |
| Migration Assistant | Backup → migrate → compare → validate → rollback if needed. | Backups, version changes, validation, rollback | Validate output, Quick Play one example, and record the first failure/fix. |
| Bake Manager | What to bake, when not to bake, test baked output, exit ladder. | Generated/static data, performance, export readiness | Validate output, Quick Play one example, and record the first failure/fix. |
| Asset Cleaner | Find unused/duplicate/generated assets safely; never delete owned project assets blindly. | Generated assets, unused files, safe review | Validate output, Quick Play one example, and record the first failure/fix. |
| Export Manager | Godot templates/platform requirements, export preflight, asset inclusion, known limitations. | Validator, Godot export templates, package assets, platform limits | Validate 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.
| Category | Count | Template names |
|---|---|---|
| Basic | 4 | Empty Room, 2D Level, UI Screen, Cutscene |
| 3D Environments | 8 | Forest, Dungeon, Town, Boss Arena, Interior Room, Shop Interior, Tavern, Throne Room |
| Outdoor | 7 | Beach, Mountain, Desert, Swamp, Village, Graveyard, Sky Island |
| Special | 9 | Battle Arena, Puzzle Room, Space Station, Underwater, Cave, Photo Mode, Isometric Level, Cinematic Intro, Lockpicking Minigame |
| 2D Levels | 4 | 2D Platformer, 2D Top-Down, 2D Shooter, 2D Puzzle |
| UI / Menus | 3 | Title Screen, Game Over, Credits |
| Extra UI | 21 | Pause 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 |
| Fighting | 4 | 2D Fighting Stage, 3D Arena Fighter, Character Select, Training Room |
| Sports | 7 | Soccer Field, Basketball Court, Tennis Court, Sports Stadium, 2D Sports Field, Sports Results, Sports Halftime |
| Rhythm | 3 | Rhythm Highway, Concert Stage, Rhythm Results |
| Tower Defense | 3 | TD Map, TD Map 3D, TD Results |
| Roguelike | 6 | Roguelike Dungeon, Roguelike Dungeon 3D, Roguelike Hub, Run Map, Roguelike Death, Roguelike Reward |
| Simulation | 2 | Tycoon Grid, City Builder |
| Adventure | 3 | Adventure Room, Adventure Room 3D, Courtroom |
| Shmup | 3 | Shmup Vertical, Shmup Horizontal, Shmup 3D |
| Runner | 2 | Endless Runner 2D, Endless Runner 3D |
| Card Games | 4 | Card Table 2D, Card Table 3D, Solitaire Board, Card Battle Arena |
| Hack & Slash | 3 | Hack & Slash 2D, Hack & Slash 3D, Hack & Slash Arena |
| Idle / Clicker | 3 | Idle Clicker 2D, Idle Clicker 3D, Idle Dashboard |
| Survival | 2 | Survival Camp, Survival Island 2D |
| Horror | 2 | Haunted House, Horror Forest 2D |
| Stealth | 3 | Stealth Mission, Stealth Mission 2D, Stealth Hub |
| Metroidvania | 1 | Metroidvania Map |
| Cozy Farm | 2 | Farm Plot, Farm World 3D |
| Party / Board | 2 | Party Board, Board Game Table |
| Multiplayer | 1 | Multiplayer Lobby |
| Sandbox | 2 | Sandbox World, Sandbox 2D |
| Auto-Battler | 3 | Auto-Battler Grid, Auto-Battler 3D, Auto-Battler Shop |
| Battle Royale | 3 | Battle Royale Island, Battle Royale 2D, Battle Royale Lobby |
| MOBA | 3 | MOBA Map 3D, MOBA Map 2D, MOBA Hero Select |
| Mobile / Touch | 2 | Mobile HUD, Touch Menu |
| Educational / Quiz | 4 | Quiz Show, Classroom 3D, Flashcard Deck, Trivia Board |
| Farming RPG | 8 | Farming RPG Overworld, Farming RPG 3D, Farm House Interior, Mine Dungeon, Town Square, Fishing Spot, Farm Calendar, Farm Shipping |
| Racing | 4 | Race Track, Race Track 2D, Racing Garage, Racing Results |
| Visual Novel | 2 | Visual Novel, VN Gallery |
| Showcase (Phase 12) | 11 | Tactical 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 group | First test | Why |
|---|---|---|
| Any template | Duplicate → rename → save under project folder → Quick Play → validate → customize one visible thing. | Prevents breaking a source template. |
| 2D/3D gameplay templates | Add player/camera/collision → assign input → add one interaction → validate. | Turns template into a playable test. |
| UI templates | Open UI Builder → preview sizes → bind one value/event → test confirm/cancel sounds. | Proves menus/HUDs are connected, not just decorative. |
| Generated/showcase templates | Inspect dependencies → confirm assets/resources exist → validate missing references → Quick Play. | Generated/showcase examples can need cleanup before production use. |
| Advanced genre templates | Start 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 area | Coverage in this guide |
|---|---|
| Getting started | Installation, first 10 minutes, first playable scene, and click-by-click beginner routes. |
| Beginner confusion points | Why many Dream* nodes appear in Godot, which nodes to start with, and what to ignore at first. |
| Core workflows | Dream DNA, Scene Composer, Map Editor, Visual Logic, Narrative Weaver, UI Builder, generated assets, validation, and export preparation. |
| Runtime structure | Custom Godot node types, autoload services, resource scripts, module IDs, and project folders. |
| Reference material | Searchable references for registered custom node types and physical Visual Logic node scripts included in this package. |
| Project planning | Realistic 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.
| Module | Custom types |
|---|---|
actors | 17 |
ai_director | 1 |
combat | 9 |
dialogue | 1 |
director | 1 |
input | 4 |
networking | 1 |
rpg | 15 |
ui | 22 |
weapon_aim | 2 |
world | 3 |
genre_autobattler | 1 |
genre_battleroyale | 1 |
genre_cards | 2 |
genre_farm | 1 |
genre_fighting | 4 |
genre_hackslash | 1 |
genre_horror | 1 |
genre_idle | 1 |
genre_moba | 1 |
genre_procedural | 1 |
genre_puzzle | 2 |
genre_racing | 4 |
genre_rhythm | 2 |
genre_roguelike | 1 |
genre_runner | 1 |
genre_shmup | 1 |
genre_simulation | 1 |
genre_sports | 5 |
genre_stealth | 1 |
genre_survival | 1 |
genre_td | 2 |
genre_vn | 2 |
#actors custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamActor | CharacterBody3D | Beginner 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_window | entity_died, interaction_received, state_changed, attacked, combo_hit, blocked | runtime/nodes/dream_actor.gd |
DreamTrigger | Area3D | Beginner 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_value | — | runtime/nodes/dream_trigger.gd |
DreamActor2D | CharacterBody2D | Beginner core | movement, 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_walk | entity_died, interaction_received, state_changed, attacked, combo_hit, blocked | runtime/dream_actor_2d.gd |
DreamTrigger2D | Area2D | Beginner core | fires 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_value | — | runtime/dream_trigger_2d.gd |
DreamInteractable | Area3D | Beginner core | Area3D-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_id | interaction_started, interaction_ended | runtime/dream_interactable.gd |
DreamPickup | Area3D | Intermediate | Area3D-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_sequence | picked_up | runtime/dream_pickup.gd |
DreamCheckpoint | Area3D | Intermediate | Save-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_name | checkpoint_activated | runtime/dream_checkpoint.gd |
DreamPlatform | AnimatableBody3D | Intermediate | Moving 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_sequence | — | runtime/dream_platform.gd |
DreamProjectile | CharacterBody3D | Intermediate | 3D 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_count | hit, despawned | runtime/dream_projectile.gd |
DreamProjectile2D | CharacterBody2D | Intermediate | homing 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_count | hit, despawned | runtime/dream_projectile_2d.gd |
DreamNavPath | Node3D | Intermediate | waypoint-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_children | point_reached, loop_completed | runtime/dream_nav_path.gd |
DreamPlatform2D | AnimatableBody2D | Intermediate | ping-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_time | — | runtime/dream_platform_2d.gd |
DreamInteractable2D | Area2D | Beginner core | NPC/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_hover | interacted, interaction_available | runtime/dream_interactable_2d.gd |
DreamPickup2D | Area2D | Intermediate | collectible 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_range | picked_up | runtime/dream_pickup_2d.gd |
DreamCheckpoint2D | Area2D | Intermediate | save/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_offset | checkpoint_activated | runtime/dream_checkpoint_2d.gd |
DreamNavPath2D | Path2D | Intermediate | patrol 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_ahead | path_completed, waypoint_reached | runtime/dream_nav_path_2d.gd |
DreamVehicleSystem | Node | Intermediate | Mount/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_durability | mounted, dismounted, vehicle_damaged, vehicle_destroyed, fuel_changed, speed_changed | runtime/core/dream_vehicle_system.gd |
#ai_director custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamAIDirector | Node | Intermediate | Dynamic 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_rate | difficulty_changed, intensity_changed, attack_cooldown_started, group_command_issued, player_struggling, player_dominating, mercy_rule_triggered | runtime/core/dream_ai_director.gd |
#combat custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamHitbox | Area3D | Beginner core | fires 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_inactive | hit_landed | runtime/dream_hitbox.gd |
DreamHurtbox | Area3D | Beginner core | reception 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_duration | hit_received | runtime/dream_hurtbox.gd |
DreamDamageFormula | Node | Intermediate | Damage 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 |
DreamHitbox2D | Area2D | Beginner core | attack 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_into | hit_landed | runtime/dream_hitbox_2d.gd |
DreamHurtbox2D | Area2D | Beginner core | damage 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_rate | damage_received, i_frames_started, i_frames_ended | runtime/dream_hurtbox_2d.gd |
DreamCombatBridge | Node | Intermediate | based, 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_stacking | combat_mode_changed, damage_dealt, encounter_started, encounter_ended, attack_performed, entity_died | runtime/core/dream_combat_bridge.gd |
DreamGridCombat | Node | Intermediate | Grid-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_cost | grid_initialized, unit_placed, unit_moved, unit_attacked, turn_started, turn_ended, phase_changed, battle_started | runtime/core/dream_grid_combat.gd |
DreamEntityTypes | Node | Intermediate | Entity 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_defeated | runtime/core/dream_entity_types.gd |
DreamDamageNumbers | Node | Beginner core | Floating 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_crit | number_spawned | runtime/core/dream_damage_numbers.gd |
#dialogue custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamDialogueBox | CanvasLayer | Intermediate | Ready-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_action | dialogue_advanced, choice_selected | runtime/ui/dialogue_box.gd |
#director custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamBehavior | Node | Beginner core | The 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_signal | — | components/dream_behavior.gd |
#input custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamVirtualJoystick | Control | Intermediate | finger 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_color | joystick_input, joystick_released | runtime/touch/virtual_joystick.gd |
DreamTouchButton | Control | Intermediate | touch. 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_color | button_pressed, button_released | runtime/touch/touch_button.gd |
DreamTouchDPad | Control | Intermediate | Pad 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_color | direction_pressed, direction_released | runtime/touch/touch_dpad.gd |
DreamGestureArea | Control | Intermediate | detects 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_duration | swipe_detected, pinch_detected, tap_detected, double_tap_detected, long_press_detected, long_press_released | runtime/touch/touch_gesture_area.gd |
#networking custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamLobbyUI | CanvasLayer | Intermediate | Multiplayer 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_closed | controls/dream_lobby_ui.gd |
#rpg custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamEquipMenu | CanvasLayer | Intermediate | Ready-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_size | — | runtime/ui/equip_menu.gd |
DreamEquipmentNode | Node | Intermediate | Manages 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 |
DreamQuestManager | Node | Advanced / genre-specific | Runtime 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_complete | quest_accepted, quest_updated, quest_objective_complete, quest_completed, quest_failed, quest_abandoned, quest_chain_advanced, tracker_updated | runtime/core/dream_quest_manager.gd |
DreamSkillTree | Node | Intermediate | Skill/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_scales | skill_unlocked, skill_upgraded, points_changed, tree_reset, skill_activated | runtime/core/dream_skill_tree.gd |
DreamCraftingManager | Node | Advanced / genre-specific | Universal 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_hints | recipe_discovered, crafting_started, crafting_progress, crafting_completed, crafting_failed, crafting_cancelled, recipe_list_changed | runtime/core/dream_crafting_manager.gd |
DreamNPCSystem | Node | Intermediate | NPC 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_multiplier | relationship_changed, relationship_level_up, gift_given, npc_schedule_changed, npc_dialogue_state_changed, npc_met_first_time | runtime/core/dream_npc_system.gd |
DreamLootManager | Node | Advanced / genre-specific | World 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_uncommon | loot_dropped, loot_picked_up, loot_expired, rare_loot_dropped, gold_dropped, gold_picked_up | runtime/core/dream_loot_manager.gd |
DreamPartyFormation | Node | Intermediate | Party 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_bonus | formation_changed, member_row_changed, member_position_changed, formation_bonus_applied | runtime/core/dream_party_formation.gd |
DreamInventoryManager | Node | Advanced / genre-specific | Advanced 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_accessory | item_added, item_removed, item_used, inventory_full, weight_changed, item_favorited, inventory_sorted, item_moved | runtime/core/dream_inventory_manager.gd |
DreamShopManager | Node | Advanced / genre-specific | Runtime 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_rate | shop_opened, shop_closed, item_bought, item_sold, purchase_failed, sale_failed, stock_changed, reputation_changed | runtime/core/dream_shop_manager.gd |
DreamTutorialSystem | Node | Intermediate | Step-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_step | tutorial_started, tutorial_step_shown, tutorial_step_completed, tutorial_completed, tutorial_skipped, tip_shown, tip_dismissed | runtime/core/dream_tutorial_system.gd |
DreamCompanionSystem | Node | Intermediate | Pets, 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_death | companion_summoned, companion_dismissed, companion_command, companion_leveled_up, loyalty_changed, companion_ability_used, companion_died, companion_revived | runtime/core/dream_companion_system.gd |
DreamBattleScene | CanvasLayer | Intermediate | based 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_rate | battle_finished | runtime/ui/dream_battle_scene.gd |
DreamEncounterSystem | Node | Intermediate | based 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_distance | encounter_triggered, steps_updated | runtime/core/dream_encounter_system.gd |
DreamCreatureCollection | Node | Intermediate | logic nodes. Connection: Use when a tool/template/tutorial asks for this runtime helper. | species_db, roster, capture_rule, encounter_tables | encounter_started, creature_captured, creature_added, creature_leveled, creature_evolved, bestiary_updated | runtime/core/dream_creature_collection.gd |
#ui custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamSkillBar | HBoxContainer | Intermediate | displays 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_tint | skill_activated | runtime/ui/skill_bar.gd |
DreamQuestLog | PanelContainer | Intermediate | scrollable 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_color | quest_selected | runtime/ui/quest_log.gd |
DreamCharacterSheet | PanelContainer | Intermediate | displays 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_color | — | runtime/ui/character_sheet.gd |
DreamCraftUI | PanelContainer | Intermediate | displays 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_color | item_crafted | runtime/ui/craft_ui.gd |
DreamBattleHUD | CanvasLayer | Intermediate | combat 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_radius | player_defeated, enemy_defeated | runtime/ui/battle_hud.gd |
DreamMapUI | PanelContainer | Intermediate | full-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_color | — | runtime/ui/map_ui.gd |
DreamLoadingScreen | CanvasLayer | Intermediate | animated 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_color | load_complete | runtime/ui/loading_screen.gd |
DreamTitleCardUI | CanvasLayer | Intermediate | animated 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_color | display_finished | runtime/ui/title_card_ui.gd |
DreamTitleScreen | Control | Intermediate | Ready-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_color | — | runtime/ui/title_screen.gd |
DreamPauseMenu | CanvasLayer | Intermediate | Ready-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_action | — | runtime/ui/pause_menu.gd |
DreamInventoryMenu | CanvasLayer | Intermediate | Ready-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_color | item_used, item_equipped | runtime/ui/inventory_menu.gd |
DreamSaveSlotUI | CanvasLayer | Intermediate | Visual 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_color | slot_selected | runtime/ui/save_slot_ui.gd |
DreamPauseScreen | CanvasLayer | Intermediate | Drop-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_color | resumed, quit_to_title | runtime/ui/dream_pause_menu.gd |
DreamLoadingOverlay | Control | Intermediate | addons/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 |
DreamGameOver | CanvasLayer | Intermediate | Drop-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_quit | retry_pressed, quit_pressed | runtime/ui/dream_game_over.gd |
DreamCreditsScreen | CanvasLayer | Intermediate | Auto-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_text | credits_finished | runtime/ui/dream_credits_screen.gd |
DreamSplashScreen | CanvasLayer | Intermediate | Animated 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_texture | splash_finished | runtime/ui/dream_splash_screen.gd |
DreamNotification | CanvasLayer | Intermediate | In-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_size | — | runtime/ui/dream_notification.gd |
DreamMinimap | Control | Intermediate | Drop-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_radius | entity_clicked | runtime/ui/dream_minimap.gd |
DreamCharacterSelect | CanvasLayer | Intermediate | grid 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_slot | p1_selected, p2_selected, both_ready, cancelled | runtime/ui/character_select.gd |
DreamHealthBar | Control | Beginner core | A 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_full | value_changed, depleted | runtime/ui/dream_health_bar.gd |
DreamMinimapMarkers | Node | Intermediate | Waypoint, 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_ally | marker_added, marker_removed, marker_reached, waypoint_set, waypoint_cleared | runtime/core/dream_minimap_markers.gd |
#weapon_aim custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamWeaponSystem | Node | Intermediate | Unified 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_path | weapon_switched, weapon_fired, weapon_reloaded, ammo_changed, melee_attack_started, melee_attack_ended, weapon_added, weapon_removed | runtime/core/dream_weapon_system.gd |
DreamAimSystem | Node | Intermediate | Crosshair, 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_spread | target_acquired, target_lost, aim_direction_changed | runtime/core/dream_aim_system.gd |
#world custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamCamera3D | Camera3D | Beginner core | follow, 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_fov | — | runtime/dream_camera_3d.gd |
DreamCamera2D | Camera2D | Beginner core | Camera2D 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_px | trauma_changed | runtime/dream_camera_2d.gd |
DreamParallax | ParallaxBackground | Intermediate | scroll, 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_layers | layer_added | runtime/core/dream_parallax.gd |
#genre_autobattler custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamAutoBattler | Node | Advanced / genre-specific | Battler / 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_gold | round_started, round_ended, unit_placed, unit_removed, shop_refreshed, synergy_activated, gold_changed, player_eliminated | runtime/autobattler/auto_battler_manager.gd |
#genre_battleroyale custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamBattleRoyale | Node | Advanced / genre-specific | man-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_density | zone_shrink_started, zone_shrink_completed, zone_damage_tick, player_eliminated, player_knocked, loot_spawned, loot_picked_up, match_started | runtime/battleroyale/battle_royale_manager.gd |
#genre_cards custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamCardGameManager | Node2D | Advanced / genre-specific | res://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_health | turn_started, card_played, game_over, card_moved, meld_declared, hand_evaluated, score_changed | runtime/card/card_game_manager.gd |
DreamStandardDeck | RefCounted | Advanced / genre-specific | card 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
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamFarmManager | Node | Advanced / genre-specific | addons/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_feed | crop_planted, crop_watered, crop_fertilized, crop_grew, crop_ready, crop_harvested, crop_withered, soil_tilled | runtime/farm/farm_manager.gd |
#genre_fighting custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamFightingManager | Node | Advanced / genre-specific | addons/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_radius | round_started, round_ended, match_ended, combo_hit, combo_dropped, meter_changed, hit_confirmed, guard_broken | runtime/fighting/fighting_manager.gd |
DreamFighterAI | Node | Advanced / genre-specific | of-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, difficulty | — | runtime/fighting/dream_fighter_ai.gd |
DreamFighterAI3D | Node | Advanced / genre-specific | of-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, difficulty | — | runtime/fighting/dream_fighter_ai_3d.gd |
DreamFightingHUD | CanvasLayer | Advanced / genre-specific | HP 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_size | hud_ready | runtime/ui/fighting_hud.gd |
#genre_hackslash custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamHackSlashMgr | Node | Advanced / genre-specific | handles 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_intensity | combo_advanced, combo_broken, loot_dropped, wave_started, wave_cleared, finisher_triggered, style_rank_changed | runtime/hackslash/hack_slash_manager.gd |
#genre_horror custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamHorrorManager | Node | Advanced / genre-specific | addons/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_enabled | sanity_changed, fear_changed, sanity_effect_triggered, jump_scare_triggered, safe_room_entered, safe_room_exited, flashlight_toggled, flashlight_battery_changed | runtime/horror/horror_manager.gd |
#genre_idle custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamIdleManager | Node | Advanced / genre-specific | generators, 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_threshold | resources_generated, currency_changed, upgrade_purchased, prestige_triggered, milestone_reached, clicked | runtime/idle/idle_game_manager.gd |
#genre_moba custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamMOBAManager | Node | Advanced / genre-specific | stable 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_reward | match_started, match_ended, tower_destroyed, minion_wave_spawned, hero_killed, hero_respawned, gold_earned, level_up | runtime/moba/moba_manager.gd |
#genre_procedural custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamProceduralGen | Node | Advanced / genre-specific | highly 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_padding | floor_generated, room_placed, generation_complete, layer_generated, zone_assigned | runtime/core/dream_procedural_gen.gd |
#genre_puzzle custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamPuzzleManager | Node | Advanced / genre-specific | res://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_cancelled | runtime/puzzle/puzzle_manager.gd |
DreamPuzzleGrid | Node2D | Advanced / genre-specific | based 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_pos | cells_swapped, match_found, cells_cleared, cascade_triggered, gravity_settled, puzzle_solved, move_made, score_changed | runtime/puzzle/puzzle_grid.gd |
#genre_racing custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamRaceCar | VehicleBody3D | Advanced / genre-specific | VehicleBody3D-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_handbrake | checkpoint_passed, lap_completed, race_finished | runtime/dream_race_car.gd |
DreamRaceCheckpoint | Area3D | Advanced / genre-specific | Area3D 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_color | car_passed | runtime/dream_race_checkpoint.gd |
DreamRaceTrack | Node3D | Advanced / genre-specific | Node3D 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_name | — | runtime/dream_race_track.gd |
DreamRaceManager | Node | Advanced / genre-specific | Coordinates 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_time | race_started, race_finished, lap_completed, checkpoint_passed, positions_updated | runtime/dream_race_manager.gd |
#genre_rhythm custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamRhythmHUD | CanvasLayer | Advanced / genre-specific | judgement 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_color | hud_ready | runtime/ui/rhythm_hud.gd |
DreamRhythmEngine | Node | Advanced / genre-specific | Core 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_health | note_spawned, note_judged, combo_changed, score_changed, health_changed, song_started, song_ended, beat_pulse | runtime/rhythm/rhythm_engine.gd |
#genre_roguelike custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamRoguelikeManager | Node | Advanced / genre-specific | progression. 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_scale | run_started, floor_entered, room_entered, room_cleared, perk_offered, perk_chosen, loot_dropped, boss_spawned | runtime/roguelike/roguelike_manager.gd |
#genre_runner custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamEndlessRunner | Node | Advanced / genre-specific | Runner 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_distance | chunk_spawned, obstacle_spawned, collectible_spawned, lane_changed, speed_changed, distance_changed, score_changed, player_hit | runtime/runner/endless_runner.gd |
#genre_shmup custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamShmupManager | Node | Advanced / genre-specific | ups, 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_hit | wave_started, wave_cleared, enemy_spawned, enemy_destroyed, powerup_collected, bomb_used, boss_phase_changed, graze_detected | runtime/shmup/shmup_manager.gd |
#genre_simulation custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamSimulationMgr | Node | Advanced / genre-specific | Core 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_events | economy_ticked, building_placed, building_upgraded, building_removed, staff_hired, staff_fired, happiness_changed, research_completed | runtime/simulation/simulation_manager.gd |
#genre_sports custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamSportsManager | Node | Advanced / genre-specific | addons/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_rate | match_started, match_ended, goal_scored, period_changed, half_time, overtime_started, foul_called, possession_changed | runtime/sports/sports_manager.gd |
DreamSportsHUD | CanvasLayer | Advanced / genre-specific | scoreboard, 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_size | hud_ready | runtime/ui/sports_hud.gd |
DreamBall | RigidBody3D | Advanced / genre-specific | addons/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_color | goal_detected, out_of_bounds, ball_touched, ball_bounced | runtime/sports/dream_ball.gd |
DreamBall2D | RigidBody2D | Advanced / genre-specific | down 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_rect | goal_detected, out_of_bounds, ball_touched | runtime/sports/dream_ball_2d.gd |
DreamTeamAI | Node | Advanced / genre-specific | addons/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_direction | player_repositioned, pass_target_found, formation_changed | runtime/sports/dream_team_ai.gd |
#genre_stealth custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamStealthManager | Node | Advanced / genre-specific | addons/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_mult | detection_changed, alert_state_changed, guard_alerted, guard_searching, guard_returned_to_patrol, stealth_kill, noise_created, disguise_changed | runtime/stealth/stealth_manager.gd |
#genre_survival custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamSurvivalManager | Node | Advanced / genre-specific | addons/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_max | hunger_changed, thirst_changed, temperature_changed, stamina_changed, status_applied, status_removed, need_critical, player_starving | runtime/survival/survival_manager.gd |
#genre_td custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamTDOverlay | CanvasLayer | Advanced / genre-specific | wave 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_size | tower_selected, tower_sold, wave_start_requested, ability_used | runtime/ui/td_overlay.gd |
DreamTDManager | Node | Advanced / genre-specific | Core 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_wave | wave_started, wave_completed, enemy_spawned, enemy_killed, enemy_leaked, tower_placed, tower_upgraded, tower_sold | runtime/td/tower_defense_manager.gd |
#genre_vn custom nodes
| Type | Godot base | Level | What it is / when to use | Key Inspector fields | Signals | Script |
|---|---|---|---|---|---|---|
DreamGalleryViewer | CanvasLayer | Advanced / genre-specific | Visual 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_size | gallery_opened, gallery_closed, cg_unlocked, cg_viewed | runtime/ui/gallery_viewer.gd |
DreamTextBacklog | CanvasLayer | Advanced / genre-specific | Essential 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_size | backlog_opened, backlog_closed | runtime/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.
| Category | Nodes |
|---|---|
| Math | 28 |
| Data | 24 |
| Flow Control | 20 |
| Scene | 17 |
| AI | 13 |
| Animation | 11 |
| 🏎️ Racing (Intents) | 10 |
| 👻 Horror (Intents) | 10 |
| Audio | 9 |
| Save & Scene | 9 |
| Visual Novel | 8 |
| Ecosystem | 7 |
| Narrative | 7 |
| Engine Core | 6 |
| Input | 6 |
| Inventory | 6 |
| AI Behavior | 5 |
| Narrative & FX | 5 |
| Quest & Progression | 5 |
| Quick Time Events | 5 |
| String | 5 |
| Engine Bridge | 4 |
| Events | 4 |
| Quest | 4 |
| Scene & Nodes | 4 |
| Time & World | 4 |
| Type | 4 |
| AI & Navigation | 3 |
| AI / Perception | 3 |
| Scene & Node Management | 3 |
| UI | 3 |
| 🃏 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 / Memory | 2 |
| AI / Tactical | 2 |
| Combat | 2 |
| World | 2 |
| Zero-Code Actions | 2 |
| 🌟 Zero-Code Actions | 2 |
| AI / Advanced | 1 |
| Game Manager | 1 |
| Save | 1 |
| Save / Load | 1 |
| State Machine | 1 |
| 🌟 Auto-Templates | 1 |
#Math Visual Logic nodes
| Node ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
logic_and | AND Logic: AND | Boolean 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_not | NOT Logic: NOT | Boolean negation of input. Typical use: Calculate values used by conditions, movement, damage, UI, or data logic. | A (bool) | Result (bool) | A |
logic_or | OR Logic: OR | Boolean 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_xor | XOR Logic: XOR | Boolean 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 Abs | Returns 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 Add | Outputs 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 Ceil | Returns 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 Clamp | Clamps 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 Divide | Outputs 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 Floor | Returns 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 Lerp | Linear 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 Max | Returns 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 Min | Returns 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 Modulo | Outputs 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_multiply | x Math Multiply | Outputs 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 Negate | Outputs -A (flips sign). Typical use: Calculate values used by conditions, movement, damage, UI, or data logic. | A (float) | Result (float) | A |
math_pow | xⁿ Math: Power | Raises 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 Range | Returns 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 Round | Returns 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 Sign | Outputs -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 Sqrt | Outputs 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 Subtract | Outputs A - B. Typical use: Calculate values used by conditions, movement, damage, UI, or data logic. | A (float), B (float) | Result (float) | A, B |
eval_math | Evaluate Math | Use 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_add | Add (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: Make | Constructs 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: Distance | Returns 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: Lerp | Interpolates 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: Make | Constructs 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
array_contains | [] Array: Contains | Tests 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: Get | Returns 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: Pop | Removes 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: Push | Appends 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: Remove | Removes 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: Reverse | Reverses 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 At | Sets 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: Size | Outputs 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: Sort | Sorts 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 Get | Reads 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 Set | Writes 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: Get | Gets 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 Key | Checks 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: Keys | Outputs 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: Merge | Merges 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: Remove | Removes 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: Set | Sets 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: Size | Outputs 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: Values | Outputs 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 Get | Reads 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: Concat | Concatenates 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 Format | Replaces {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: Split | Splits 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 Convert | Converts 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
compare_equal | == Compare Equal | Branches 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 Greater | Branches 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/Equal | Branches 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 Less | Branches 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/Equal | Branches 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 Equal | Branches 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 | ⏱️ Cooldown | Blocks 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 Loop | Iterates 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 | 🚪 Gate | Passes 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 |
branch | Branch (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 |
delay | Wait (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_loop | For Loop | addons/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_chance | Random Chance | Use 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 | ⚡ Parallel | Fires 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 Branch | Routes 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 Chance | Randomly 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 | 🔁 Retry | Re-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 / Case | Routes 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 Race | Fires 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_loop | While Loop | Repeats 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
connect_signal | 🔗 Connect Signal | Connects 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 Signal | Emits 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 Nearest | Finds 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 Path | Returns 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 Add | Adds 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 Remove | Removes 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 Position | Moves 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 Child | Adds 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 Name | Finds 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 Group | Returns 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 Child | Returns 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 Parent | Returns 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 Child | Removes 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 Visible | Shows 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 3D | Fires 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 Process | Enables 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 Visible | Shows 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
ai_chase | 🏃 AI Chase Target | Actor 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 Danger | Actor 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 Target | Smoothly 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 Position | Uses 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 Route | Actor 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 Randomly | Moves 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: Invert | Logic 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: Parallel | Logic 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 Target | Smoothly 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 From | Moves 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 Point | Advances 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 Player | Sets '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 Order | Broadcasts 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
anim_await | Animation: Await Finished | Use 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: Play | Plays 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: Stop | Stops 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 Param | Sets 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 Shake | Shakes 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: Zoom | Smoothly 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: Set | Adjusts 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 Flash | Creates 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 Motion | Sets 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 Property | Animates 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: Spawn | Spawns 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_race_accelerate | 🏎️ Race: Accelerate | Racing 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 / Handbrake | Racing 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 Checkpoint | Racing 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 Collision | to-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: Drift | reduces 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 Complete | Racing 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 Boost | Racing 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 Position | Racing 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 AI | band 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: Steer | 1..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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_horror_blackout | ⬛ Horror: Blackout | skip 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: Hallucination | spawns 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: Heartbeat | Horror 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 Limit | Horror 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: Jumpscare | Horror 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 Stalk | Horror 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 Room | stops 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 Drain | Horror 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 Restore | Horror 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: Tension | 1). 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
ambient_loop_set | 🔊 Ambient Loop: Set | Starts 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: Play | Creates 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 Volume | Sets 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 Audio | General-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 BGM | Plays 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 SFX | Plays 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 BGM | Fades 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: Add | Adds (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: Remove | Fades 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
load_game | 📂 Load Game | Loads 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 Game | addons/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_transition | Scene Transition | addons/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_scene | Scene Flow: End Scene | Game-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_if | Scene 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_next | Scene Flow: Go Next | defined scene connections. Typical use: Read, change, spawn, or manage Godot scene/node state. | In (exec) | Out (exec) | Connection Index |
scene_flow_go_to | Scene Flow: Go To Scene | addons/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 Transition | Changes 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
vn_change_background | 🖼️ VN: Change Background | Visual 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 Expression | Visual 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 Choice | Visual 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 Character | Visual 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: Narration | Visual 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 Transition | Visual 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 Effect | Visual 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 Character | Visual 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
equip_item | ⚔️ Equip Item | Equips 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: Check | Checks 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: Remove | Removes 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_give | Give Item | Use 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_update | Update Quest | Use 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_open | Open Shop UI | Use 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 Item | Removes 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
chapter_start | 📖 Chapter: Start | Loads 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: Roll | Scrolls 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 Choice | Shows 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: Set | Changes 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: Show | Full-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: Show | Displays 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 Speed | Changes 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
bb_set | 📋 Blackboard: Set | Stores 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 Method | Calls 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_method | Call Function | Use 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_property | Get Property | Use 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_property | Set Property | Use 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 Property | Sets 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
cursor_mode_set | 🖱️ Cursor: Set Mode | Sets 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: Vibrate | Triggers 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 Action | Checks 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 Tap | Detects 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 Axis | Returns 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 Vector | Outputs 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
craft_item | 🔨 Craft Item | Validates 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: Give | Awards 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 Up | Forces 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: Add | Adds 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: Remove | Removes 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 Skill | Adds 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
bb_get | Get Blackboard Value | Use 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_action | Action (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_condition | Condition (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_selector | Selector (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_sequence | Sequence (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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
cutscene_play | 🎬 Cutscene: Play | Triggers 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_simple | Play Sound | Use 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_choice | Player Choice | Use 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_show | Show Dialogue | Use 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: Show | Displays 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
flag_check | Flag: Check | Use 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_set | Flag: Set | Use 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: Complete | Marks 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: Complete | Marks 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: Start | Marks 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
qte_button_prompt | 🔘 QTE Button Prompt | Shows 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 Button | Player 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 Mash | Player 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 Sequence | Player 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 Start | Begins 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
string_contains | 🔍 String: Contains | Checks 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: Length | Outputs 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: Replace | Replaces 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_lower | aa String: To Lower | Converts text to lowercase. Typical use: Use when the graph needs the string to lower step. | Text (string) | Result (string) | Text |
string_to_upper | AA String: To Upper | Converts 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
property_get | 📖 Property: Get | Reads 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: Set | Writes 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: Connect | Connects 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: Emit | Emits 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
await_event | Await Event | addons/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 Action | Fires 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 Process | Entry 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_start | On Start | Use 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
achievement_unlock | 🏆 Achievement: Unlock | Unlocks 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 Stage | Outputs 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: Fail | Marks 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: Set | Sets 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
find_node | 🔍 Find Node | Searches 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 Call | Calls 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 Valid | Checks 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 Scene | Instantiates 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
time_advance | ⏩ Time: Advance | Advances 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 Range | Branches 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: Get | Outputs 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: Set | Changes 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
cast_to_bool | T/F Cast: To Bool | Converts any value to a boolean. Typical use: Use when the graph needs the cast to bool step. | Value (variant) | Result (bool) | Value |
cast_to_float | 0.0 Cast: To Float | Converts 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 Int | Converts any value to an integer. Typical use: Use when the graph needs the cast to int step. | Value (variant) | Result (int) | Value |
cast_to_string | Abc Cast: To String | Converts 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
ai_set_target | 🎯 AI: Set Target | Stores 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 Target | Rotates 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 To | Moves 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
ai_alert_level | 🚨 AI Alert Level | Manages 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 Sensor | Detects 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 Sight | Checks 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
destroy_node | Destroy Node | addons/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_scene | Spawn Scene | addons/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_property | Tween Property | addons/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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
hide_menu | 🚫 Hide Menu | Hides 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 Item | Shows 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 Label | Updates 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_card_draw | 🃏 Card: Draw | Card 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: Play | Card 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: Shuffle | Card 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_farm_plant | 🌱 Farm: Plant | Cozy 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: QTE | outputs 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 Check | time 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_plat_gravity | 🌍 Plat: Gravity | grav 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: Jump | jump. 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: Knockback | Platformer 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_surv_build | 🏗️ Surv: Build | Survival 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: Consume | removes 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: Durability | Survival 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_vn_affection | ❤️ VN: Affection | Visual 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 Shake | based 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 CG | screen 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_arpg_crit | 💥 ARPG: Crit Hit | Action 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 Window | Action 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 Effect | Action 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_stealth_alarm | 🚨 Stealth: Alarm | sets 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: Vision | Stealth 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
ai_blackboard_get | 📖 AI Blackboard Get | Reads 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 Set | Writes 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
ai_formation | 🎖️ AI Formation | Positions 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 Command | Sends 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
end_encounter | End Encounter | addons/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_encounter | Start Encounter | addons/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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
day_night_set | 🌅 Day/Night Set | Sets 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: Set | Transitions 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_heal_party | 💖 Heal Entire Party | Restores 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 Target | Automatically 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
intent_deal_damage | ⚔️ Deal Damage | Use 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/VFX | Use 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
ai_utility_scorer | 🧠 AI Utility Scorer | Evaluates 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
query_genre_state | Query Genre State | system 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
autosave | 💾 Autosave | Triggers 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
delete_save | 🗑 Delete Save | Deletes 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
fsm_state | State | Use 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 ID | Title | Purpose / use | Inputs | Outputs | Properties |
|---|---|---|---|---|---|
macro_block | 📦 Custom Macro | Use 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 area | Dreamcatcher can help with | What still needs project work |
|---|---|---|
| Pre-production | Dream DNA, ideation, tool maps, templates, and first playable loops. | The final game direction, scope, design discipline, and content plan still need human decisions. |
| Vertical slice | Player 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 scripting | Narrative Weaver, Visual Logic, triggers, map events, and behavior runners. | Large projects still need naming rules, versioning, backups, review, and consistency checks. |
| Combat feel | Hitboxes, 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 presentation | Starter scenes, cameras, VFX/audio/cinematic hooks, and workflow organization. | Art direction, shaders, animation, LODs, optimization, and target-hardware testing remain project work. |
| Multiplayer | Foundational helpers and workflow ideas. | Online production still needs authority design, prediction or reconciliation, security, latency testing, and custom engineering. |
| Export and release preparation | Export 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.
| Area | What Dreamcatcher helps with | What still belongs to the project |
|---|---|---|
| Complete game creation | Speeds 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 assignment | Assign/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 preparation | Export 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 assets | Classic 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 stability | Stable, 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 guidance | AI Dream Advisor can suggest ideas and workflow directions. | AI suggestions should be checked against the guide, validator output, project goals, and normal Godot behavior. |
| Networking | Networking 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 cleanup | Migration 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. |