Map Events and Regions

Connect NPCs, chests, transfers, triggers, encounter regions, weather, and map state.

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

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 typeUse it forCommon mistake
Door / TransferMove player to another area, scene, or map point.Missing destination, wrong target scene, no spawn point.
ChestGive an item, play SFX/VFX, then mark opened.Missing item resource, repeated rewards, no opened state.
NPCShow dialogue, start quest, open shop, or give information.Missing dialogue resource, no interaction trigger, broken quest reference.
TriggerStart a cutscene, change variable, spawn enemy, play sound, or transition.Trigger area too small, wrong collision layer, no action assigned.
Spawn / ExitMark 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.

Map events, pages, conditions, commands, self-switches

Event templates

TemplateTypical use
doorTransfer to another map/scene/cell
chestGive item/gold once, play SFX/VFX, set self-switch
npcDialogue, quest, shop, relationship
signShow text
save_pointOpen save menu or save game
shopkeeperOpen shop resource
quest_giverStart or complete quest
enemy_encounterStart battle/encounter
pickupGive item on touch/interact
cutscene_triggerRun cinematic or sequence
damage_tileDamage player on touch/step
healing_tileHeal player on touch/step
teleportMove player to target map/marker/cell
region_triggerReact to region entry/exit
music_zoneChange BGM or ambience
weather_zoneApply weather

Event page triggers

TriggerUse when
action_buttonPlayer presses interact near event
player_touchPlayer touches/enters event
event_touchAnother event touches this event
autorunRuns automatically and can block/drive flow
parallelRuns repeatedly/periodically; use carefully
region_enterRuns when actor enters region
region_leaveRuns when actor leaves region
on_map_loadRuns when map loads
on_quest_state_changedRuns when linked quest state changes

Event page conditions

ConditionExample
alwaysPage is always available
switchDoor open if global switch is on
self_switchChest opened state A/B/C/D
variableRun page if variable is above/below value
itemDoor opens if player has key
questNPC changes dialogue based on quest status
actor_in_partyEvent requires specific party member
enemy_defeatedTrigger after boss is defeated
regionPage only available in specific region
visual_logicPage depends on graph/context flag

Event commands

CommandBeginner example
dialogueShow NPC/sign/chest text
show_choiceAsk yes/no or route choice
set_switchMark door unlocked
set_variableCount kills, score, route points
add_itemChest gives potion/key
remove_itemDoor consumes key
change_goldQuest reward
teleportMove player
change_sceneLoad another scene
play_seChest/door/pickup sound
play_bgmChange music
stop_bgmStop music
fade_screenTransition/cutscene
shake_screenHit/scare/earthquake
force_battleStart battle
change_questStart/update/complete quest
open_shopOpen shop UI/resource
save_gameSave point
open_menuOpen feature list/pause/etc.
set_weatherApply weather
show_animationVisual feedback
change_hpDamage/heal actor
waitDelay sequence
branchConditional 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.