16. Exploration
In short: Exploration is everything the party does between battles: examining and talking, opening locks, solving puzzles, walking through zone exits, saving at save points, meeting enemies on the map (random or visible), reading the map and the clock, and sharing the world with NPCs who live their own day. All of it is placed as actors in your level and filled with data assets, and all of it reads and writes the same story state as dialogs and quests.
16.1 Basics
16.1.1 The pieces in one picture
| You want | You place | You fill |
|---|---|---|
| An object the player examines, or an NPC who talks | Interactable Actor, or RSE NPC | An Interaction asset, a Dialog, an Examine asset |
| A chest, campfire, signpost, shrine, herb patch | RSE World Interactable | An Interactable Data asset (the kind) |
| A locked door or chest, a trap | RSE Lockable, RSE Trap | A Lock or Trap data asset |
| A door that opens when the story says so | Puzzle Door | Open Conditions |
| A passage to another level | Zone Exit | The destination map and arrival point |
| A place to save | Save Point | A Save Point Id |
| Battles on the map | RSE Encounter Spawner, RSE Random Encounter Area | Encounter pools and roaming behaviors |
| Help arriving mid-battle | A Reinforcement data asset | On the spawner, encounter or pool |
| A map, minimap and compass | Run Generate Map | Nothing |
| A sun, moon and weather | Time of Day & Weather actor | A profile and a weather table |
| Villagers with a day | RSE NPC plus NPC Place actors | A Schedule asset or an NPC Style |
16.1.2 Interactions and examining
Almost everything the player walks up to is an ARSEInteractableActor or a subclass. While the player stands in its range, a prompt appears ("Examine", "Talk", "Open") and pressing Interact runs, in order:
- a puzzle piece if the actor has one (item use, examine text, a code lock; see Puzzles below);
- its Interaction asset (conditions, then effects; failed effects otherwise);
- its Dialog, after a successful interaction or always (Dialog Only On Success).
The prompt is gated by Prompt Conditions, the same condition sets as everywhere else. Priority and Interaction Radius / Reach decide which of several close objects is focused. See Story, dialog and quests for the condition and effect language.
A first example, a note on a desk:
- Create an Examine Data asset (Content Browser → Miscellaneous → Data Asset → RSE Examine Data). Add responses: each has conditions and lines, and the first one whose conditions pass is shown. Add a Pickup item with a Taken Flag so it is given once, and the save remembers it.
- Place an Interactable Actor (Place Actors, search "Interactable") and set its Examine.
- Play. The lines appear in the narrator box. Examining again after taking the item shows the second response.
16.1.3 The interaction library
RSE World Interactable (ARSEWorldInteractable) is one actor that becomes a chest, campfire, torch, lantern, signpost, danger warning, examine spot, shrine, gathering node, viewpoint, obstacle or class action, depending on the Interactable Data asset (URSEInteractableData) you give it. The plugin's kinds are in /RPGSagaEngine/Data/Interactables (DA_Interactable_*). Place the actor, pick the kind, and the placeholder look appears. Turn Use Data Look off to keep a mesh you set on the actor.
| Kind | What it does |
|---|---|
| Chest | Loot rolled once, scaled by the danger of the place; may be locked |
| Light | Lit by hand, at night, or always; a campfire can rest the party and open the save screen |
| Signpost | Lists what lies each way and reveals those places on the world map |
| Danger warning | Says what lies ahead and the recommended level, rated against your party |
| Examine | Lines, a one-time find, story effects the first time |
| Shrine | A lasting blessing, then a cooldown in game hours |
| Gather node | Gives items, then grows back |
| Viewpoint | Reveals places on the world map and the fog around it |
| Obstacle | Crossed with a ladder, rope or jump once the party can; some only once it learned something |
| Class actions | A thief picks a lock, a mage lights or burns, a warrior breaks or pushes |
| Destructible | Barrels, crates and pots with weighted outcomes (loot, a poison cloud, an explosion) |
| Reactive | Reacts to abilities (fire lights a torch, frost freezes a pond) |
Every kind also has Use Conditions, Effects (run after every successful use), an Icon, a Prompt, a Look (meshes per state) and Placement rules that Populate Interactions uses (see World building).
Requirements are one shared block: required class tags, member tags (a class's granted tags or a personal Trait.*), abilities, items, story conditions and a requirement text. The first party member who meets it does the action.
16.1.4 Puzzles, doors and locks
Puzzles are data built from the same primitives, plus a few generic pieces:
| Piece | What it does |
|---|---|
| Examine Data | State-dependent text and a one-time pickup |
| Item Use Data | Which key items the object accepts, what they do, whether they are consumed |
| Code Lock Data | Digits, symbols or clock hands; a solution, attempts, success, failure and lockout effects |
| Item Recipe Data | A + B makes C; listed in Project Settings → Puzzles → Recipes. The player may freely try any two key items |
| Puzzle Door | Open while its Open Conditions pass (for example Area Unlocked), animated, saved through the story state |
| Lock Data + RSE Lockable | A door or chest with a key, a lockpicking minigame or auto resolve |
| Trap Data + RSE Trap | Hidden traps the party can spot, disarm or set off |
A clock-tower puzzle, step by step:
- Place an Interactable Actor over the clock face. Set Examine (the description), Item Use (accepts the Minute Hand key item, sets a flag) and Code Lock (a Clock Hands lock with the solution 7:15).
- The player examines it, is asked "Use the Minute Hand?", then the lock screen opens.
- The lock's Success Effects run Unlock Area
Narrative.Area.Mansion.Vault. - A Puzzle Door with Open Conditions = Area Unlocked
Narrative.Area.Mansion.Vaultopens by itself.
Combining items is also in the party menu (Key Items → item → Combine → second item). Locks, traps, stealing, dialog battles, distractions and fallen members are the Exploration RPG layer:
- Skills. Perception, Disarm, Lockpick and Pickpocket come from stats, level and class or trait bonuses (Project Settings → Exploration RPG → Skills). Attempts share one chance formula with a minimum and maximum.
- Traps. Spotting is passive (the party compares Perception with the trap's Detect Difficulty within a radius). Disarm with Interact, or send a follower with the Open / unlock party command. Stepping on a trap sets it off, found or not.
- Locks. A key opens at once. Otherwise the best member picks it: the lockpick minigame (a marker sweeps a bar; press Confirm inside the green spot to set pins) or auto resolve.
- Stealing. Sneak behind an NPC with a Pickpocket asset: the prompt becomes "Steal". Failure may be noticed and runs the purse's Caught Effects (the NPC fights, guards come, prices rise).
- Distractions. Hold the Distract input to throw a stone; visible enemies walk over to look.
- Fallen members. After a battle they get up, or stay down with a "Revive" prompt, depending on Fallen Members → After Battle.
16.1.5 Travel between zones and the world map
Place an Zone Exit (ARSEZoneExit) at the edge of a level. Set Destination Map, the Destination Arrival Point (a named player-start-like point in the other level), optional Exit Conditions and Requires Confirmation. An Area Volume names an area for the map and for danger rating. Travel Destination data assets describe fast-travel places for the world map screen. The travel subsystem blocks fast travel in battles, cutscenes and no-travel zones and says why.
16.1.6 Save points
Place an Save Point (ARSESavePoint) and give it a Save Point Id. Interacting opens the save screen. A campfire kind of the interaction library can also be a save point. Other rules (the consumable save item, no-save zones) are in Save and load.
16.1.7 Enemies on the map
Two classic styles, both without code:
Random battles while walking:
- Create an Encounter Pool (
URSEEncounterPoolData): entries (character, weight, max per group, level mode), group size, optional elite groups. - Place an RSE Random Encounter Area (
ARSERandomEncounterArea), scale its box over the ground, tick Enabled and add an entry with Kind = Generated and your pool. A table can mix Predefined and Generated entries. - The map needs a classic battle director for ATB encounters (an RSE ATB Battle Director with its ATB Stage).
Visible enemies that patrol, flee or chase:
- Place an RSE Encounter Spawner (
ARSEEncounterSpawner). Set Pool (or a predefined encounter) and a Behavior (URSERoamingBehaviorData,DA_Roam_*). - Behaviors are Passive, Cautious (flees) or Aggressive (notices in a sight cone or by hearing, shows "!", chases, gives up).
- For Free Tactics battles tick Free Tactics on the spawner (see Free Tactics (Live)).
Touching a group starts its battle. From behind while unnoticed is a preemptive strike; being touched from behind by a chaser is a back attack. Respawn policy, patrol points, follower counts, activation radius and grace times are on the spawner and in Project Settings → Encounters.
Repel and Lure: create an ability with the Encounter Rate effect (Multiplier 0 = none, 2 = double; duration in steps or seconds) and a consumable that uses it. Equipment traits and the player's Battle frequency option multiply the rate too.
16.1.8 Time of day and weather
Place a Time of Day & Weather actor (ARSETimeOfDayActor) anywhere. It drives the sun, moon, sky, fog, clouds and colors. By default one real hour is one game day. Preview any hour in the editor from the actor's Preview section. Looks live in Time of Day Profile assets (Bright stylized, Moody, Realistic ship with the plugin). Weather is six types (Clear, Cloudy, Rain, Storm, Fog, Snow) chosen by a Weather Table; give a level or a Weather Volume its own table. A Night Light component turns lamps on at dusk.
The clock changes gameplay: roaming enemies see, hear and chase differently by phase and weather, encounter pools can change at night, and battle modifiers can weaken fire in rain. See Settings below.
16.1.9 Living NPCs
Every RSE NPC has a Living NPC component (URSENPCBehaviorComponent). Without a schedule it stands where you put it. To give an NPC a day:
- Place NPC Place actors (
ARSENPCPlace): a Spot (where it stands), an Area (where it wanders), or a Route (waypoints with pauses). Give each a Place Id. - Create a Schedule (
URSENPCScheduleData): entries with a When (hours, phases, weathers, conditions) and a Do (activity tag, movement Stay, Wander, Route or Away, a place, speed, dialog while in this activity). The first entry that holds wins; the Default applies otherwise. - Set the NPC's Schedule, then test with
RSE.Time.Set 19.9.
Faster: the plugin ships sixteen NPC Styles (URSENPCStyleData: shopkeeper, farmer, guard patrol, night watch, child, priest and more) that bundle a day, reactions, bark lines and names. Populate NPCs (in the world tools) applies one.
16.1.10 Maps, minimap and compass
Open your level, save it, and run Generate Map (Studio → World → Generate the map). It draws a printed-looking map from above, writes T_Map_<Level> and DA_Map_<Level>, and the level finds its map by itself. In play you get a minimap, a compass bar and a full area map (M or View). Markers (save points, exits, shops, recruits, quest givers, enemies) appear by themselves, and quest objectives with a Map Target show on all three. Players drop typed pins from a pin wheel. Fog of war and a zone-difficulty tint are optional.
16.2 How it works
Placed actor (Interactable Actor, NPC, Lockable, Trap, Zone Exit, Save Point, Spawner ...)
-> player Interact (command through the command bus; the host applies it in co-op)
-> URSENarrativeSubsystem: conditions -> effects; effects that need the world raise requests
-> RSE presentation: dialog UI, battle start, scene, lock screen, travel, save screen
The rules and data of each system live in RSECore (pools, schedules, locks, traps, the clock, map data, puzzles). Actors, overlays, widgets and cameras live in RSE. Exploration state (spotted, disarmed, opened, lit, gathered, defeated groups, world steps, the clock, the weather, pins, fog) is saved with the game.
Hand-off to battle. A visible group, a trigger, a dialog effect or a random area asks the exploration subsystem to start a battle. Free Tactics fights where you stand with no transition; ATB and grid Tactics use their directors and stages. After the battle the party is back where it was.
Stealth. Enemies have a vision cone and hearing. A detection meter fills while the party is seen or heard (faster near, slower far, slower while sneaking, hidden by tall grass or shadow) and the ! appears when it is full. Surprise decides the opening (see Free Tactics (Live)). Stealth settings are in Project Settings → Stealth.
16.3 Key classes and assets
| Class / asset | Module | Role |
|---|---|---|
ARSEInteractableActor | RSE | Base of everything the player interacts with |
URSEInteractableComponent | RSE | Lets any actor take part in the interaction system |
URSEInteractionData | RSECore | Conditions and effects of an interaction |
ARSENPC, URSENPCBehaviorComponent | RSE | NPCs and the Living NPC component |
ARSEWorldInteractable, URSEInteractableData, URSEInteractableBehavior | RSE, RSECore | The interaction library: actor, kind and behavior base |
URSEExamineData, URSEItemUseData, URSECodeLockData, URSEItemRecipeData | RSECore | Puzzle data |
ARSEPuzzleDoor, ARSEOptionalSceneTrigger | RSE | A door that follows the story; an optional scene offer |
ARSELockableActor, URSELockData | RSE, RSECore | Lockable door or chest and its lock |
ARSETrapActor, URSETrapData | RSE, RSECore | A trap and its data |
URSEExploreRPGSubsystem | RSE | Skills, searching, distractions, fallen members, revive |
ARSEZoneExit, URSETravelSubsystem, URSETravelDestinationData | RSE, RSECore | Zone exits, fast travel, the world map |
ARSESavePoint, ARSEAreaVolume | RSE | A save point; a named area |
ARSEEncounterSpawner, ARSERandomEncounterArea, URSEEncounterSubsystem | RSE | Visible enemies, random battles, rate and frequency |
URSEEncounterPoolData, URSERoamingBehaviorData | RSECore | Pools and roaming behaviors |
URSEReinforcementData, URSEBattleScriptRunner | RSECore | Reinforcements and scripted battle events |
ARSEReinforcementSpawnPoint | RSE | Where help may come from (Free Tactics) |
URSEMapData, URSEMapStyle, URSEMapSubsystem | RSECore | Map data, look and runtime state |
ARSEMapBoundsVolume, ARSEMapRegionVolume, URSEMapMarkerComponent | RSE | Map bounds, region names, markers |
ARSETimeOfDayActor, URSETimeOfDayProfile | RSE | Sky and lighting |
URSETimeSubsystem, URSEWeatherTableData | RSECore | Clock, weather and their tables |
ARSEWeatherVolume, URSENightLightComponent | RSE | Local weather rules; lamps at night |
URSENPCScheduleData, ARSENPCPlace, URSENPCStyleData, URSENPCReactionData | RSECore, RSE | NPC days, places, styles and reactions |
URSENPCActivityBehavior | RSECore | Scriptable activity (Blueprintable) |
URSEWorldReactionSubsystem | RSE | Abilities changing the world |
16.4 Settings
Project Settings → RPG Saga Engine, groups used by exploration (full lists in Appendix B):
| Group | What it holds |
|---|---|
| Interactables | Compass points, danger ratings, default verbs, which kinds Populate Interactions places |
| Living World | Highlights, hints and sparkles over usable objects, default interact animations |
| World Reactions | The rule table: which ability on which object gives which result |
| Puzzles, Puzzle UI | Default texts, recipes, lock and door looks |
| Exploration RPG, Exploration RPG (Presentation) | Skills, traps, locks, stealing, distractions, fallen members, texts |
| Encounters, Encounters (World) | Default teams, rate effects and traits, frequency levels, contact, grace times, visible enemy look |
| Reinforcements, Reinforcements (Presentation) | Call rules, interrupting statuses, spawn point rules, banners, runners |
| Stealth | Detection speeds, sneaking, hearing, concealment tags |
| Map Generator, Map & Minimap | Picture generation, categories, minimap, compass, pins, fog, quests |
| Time of Day, Time of Day Visuals, Weather Visuals, Time & Weather Rules | Day length, start, phases, seasons, the sky, enemy and battle effects |
| Living NPCs | Reactions, crimes, defaults for NPC movement |
| Travel | Fast travel rules and the world map |
Time defaults: one real hour is one game day (Day Length Minutes 60), the game starts at 08:00 on day 1, Dawn / Day / Dusk / Night phases, and the clock pauses in battles, dialogs, cutscenes and menus.
16.5 Blueprint usage
Run a story effect from a trigger. Event (Box Trigger overlap) → Is Flag Set (the story library from Story, dialog and quests) → Branch → Start Dialog or Run Interaction.
React to an interaction. On an Interactable Actor (or a subclass), bind On Interacted (Interactable, Interacting Pawn, Succeeded). Or override On Interact in a Blueprint subclass: such a Blueprint is interactable even without any data (a lever, a switch). Override Can Interact (Custom) for an extra availability rule. Other nodes: Interact, Request Interact, Set Interaction Enabled, Get Prompt Text, Can Interact Now.
Read and change the clock. Get Game Instance Subsystem (class RSE Time Subsystem), then Get Hour, Get Day, Get Phase, Is Phase, Get Weather, Is Weather, Get Time Text, Set Time, Advance Time, Set Weather, Lock Weather, Set Time Scale. Events: On Hour Changed, On Phase Changed, On Day Changed, On Time Skipped, On Weather Changed.
Encounters. On the Encounter Subsystem: Get Encounter Rate Multiplier, Add Rate Effect / Remove Rate Effect, Get Frequency Index / Set Frequency Index, Get World Steps, Compose Encounter (a fresh group from a pool), Start Classic Encounter (an encounter with an initiative). On a spawner: Set Spawner Enabled, Get Group Count, Is Group Defeated, Respawn All, Force Contact.
Travel. On the travel subsystem: Travel To Destination, Is Traveling, Get Current Area, Get Destinations, Get Fast Travel Block.
NPCs. On a Living NPC component: Get NPC Id, Get Current Activity, Is Available, Refresh Schedule, Begin Talk / End Talk, Notify Danger, Report Crime, Try Start Chat. On the NPC world subsystem: Raise Danger, Clear Raised Danger, Report Crime.
Scripted activities. Create a Blueprint with parent NPC Activity Behavior and override Begin, Tick, End, Can Interrupt; pick the class in the schedule entry's Do → Behavior. Built-ins: Use Spot, Wander, Chat, Work At Station.
See Appendix A for every node.
16.6 C++ usage
A custom interactable that reuses the whole interaction pipeline:
UCLASS()
class AMyLever : public ARSEInteractableActor
{
GENERATED_BODY()
public:
virtual bool Interact(APawn* InteractingPawn) override
{
const bool bOk = Super::Interact(InteractingPawn); // runs Interaction, Dialog, puzzle pieces
if (bOk) { Toggle(); }
return bOk;
}
private:
void Toggle();
};
A new interaction-library behavior (appears in the Behavior picker of every kind):
UCLASS(meta = (DisplayName = "Ring Bell"))
class UMyBellBehavior : public URSEInteractableBehavior
{
GENERATED_BODY()
// Override the prompt, availability, use and visual of the behavior, as the shipped ones do.
};
Read the clock from code:
if (URSETimeSubsystem* Time = GetGameInstance()->GetSubsystem<URSETimeSubsystem>())
{
if (Time->IsPhase(MyTags::Phase_Night)) { /* spawn the owl */ }
Time->AdvanceTime(8.f); // a night's rest
}
Extension points: subclasses of ARSEInteractableActor, URSEInteractableBehavior (a new kind of behavior), URSENPCActivityBehavior, URSEBattleScriptEffect (a scripted battle effect), and implementing IRSEMapMarkerSource (Should Show Map Marker) or IRSEWorldReactive on your own actors to join the map or the world reactions.
16.7 Advanced
16.7.1 Reinforcements and scripted battle events
A lone sentry shouts "To me!", three friends run out of the trees and join at the next round. Kill him first and nobody comes.
- Create a Reinforcement Data asset (
URSEReinforcementData). Set Caller (Leader or Any Member), Call Turns (1 = the call completes at the caller's next turn), Call Bark, and Cancel If Caller Interrupted. - Add a Wave: a trigger (When Alerted, Battle Start, Round Reached, HP Below, Unit Defeated, Reinforcements Arrived, Objective Changed, Condition, After Previous Wave, Manual), the units (or a pool), delays and the min and max distance they appear at.
- Put it on the spawner's Reinforcements, on its encounter, its pool or its roaming behavior.
- Try it with
RSE.Reinforcements.Setup, thenRSE.FreeTactics.Start.RSE.Reinforcements.Statuslists calls and runners.
In Free Tactics the battle picks hidden points between the minimum and maximum distance: out of the camera's view and out of every party member's line of sight, on standable ground with a path to the fight, and inside the battle area. Place RSE Reinforcement Spawn Point actors where help should come from (the end of a road, a cave): Spawn Points decides whether they are Fallback, Prefer or Only. Runners show on the minimap and compass, and join at the start of the next round. Leftover decides what happens if the battle ends first: they vanish, or become a visible roaming group.
Other modes: in grid Tactics the units enter at the edge tiles nearest the caller; in ATB and turn-based they step into the formation. The bark, banner and sounds work everywhere.
Scripted battle events are an ordered list on an encounter (Battle Events): a trigger, a speaker, a line or a dialog, a camera (Reframe, Cinematic, None), Talk Only or Act Now, and effects (Call Reinforcements, Change AI Profile, Apply Status, Spawn Surface, Change Objective, Play Cue, or your own URSEBattleScriptEffect). For example a boss at half HP shouts, calls his sellswords, gains a status and acts at once. From Blueprint, the director's Get Script Runner returns a URSEBattleScriptRunner with Start Reinforcements, Fire Event, Get Calls, Get Incoming Count, Is Calling and the events On Call Started, On Wave Called, On Wave Arrived, On Script Event.
16.7.2 Dialog battles and who strikes first
The Start Battle effect has an Opening (From Context, Normal, Party First, Speaker First), Scene NPCs Fight (the NPC who speaks and combatant NPCs nearby fight where they stand in Free Tactics), a Faction, Combatants and an Encounter. From Context means a dialog choice lets the party strike first and a speaker's line lets the speaker's side strike first. Make an NPC a combatant in its NPC | Combat category.
16.7.3 Reactions and crimes for living NPCs
When a battle starts nearby, living NPCs react instead of freezing, then return to their day: an NPC Reaction asset (URSENPCReactionData) chooses Flee, Watch, Cower, Help or Ignore, with trigger distance and delays. Guards answer crimes (NPC.Crime.* tags: Theft, Trespass, Assault, or your own) they see or hear by warning, chasing and running effects (a fine, a battle). Crimes come from pickpocketing, attacking an NPC, and the Report Crime effect.
16.7.4 Abilities on the world
One rule table in Project Settings → World Reactions → Rules lets a fire spell light torches, ice put out lights and freeze a pond, and wind clear fog. Mark an ability Usable On World and give objects Reactive Tags. Use URSEWorldReactionSubsystem (Apply Ability At, Cast On World, Would React) from Blueprint.
16.7.5 Maps in depth
- Layers. Generate Map sorts meshes into ground, roads, water, forests, buildings and rocks by actor or component tags (
MapBuilding,MapWater,MapForest,MapRock,MapGround,MapHide,MapCanopy), then by name words, then by size. - Bounds and regions. An RSE Map Bounds Volume sets what the map covers (its arrow points up). RSE Map Region Volume writes region names with an importance (Major, Normal, Minor).
- Styles. Clean, Painted, Parchment and Blueprint ship; duplicate a Map Style asset for your own.
- Markers and objectives. Add the RSE Map Marker component to any actor. Give a quest objective a Map Target and the marker the same Target Id to show it on the area map, minimap and compass.
- Batch.
RSE.Map.Generate,RSE.Map.Generate All, or theRSEMapGeneratecommandlet with-AllowCommandletRendering. - Performance. Maps are static pictures. The minimap and compass update on a light timer. The fog is a small texture updated only when something new is explored.
16.7.6 Time and weather in depth
- Rules in Time & Weather Rules (also a rules-profile section): roaming enemies by phase and weather (sight, hearing, reaction, chase speed, aggression, density), other encounter pools at night, and battle modifiers by weather or phase.
- Conditions and effects for stories: Time Of Day Is Between, Phase Of Day Is, Weather Is, Day Number, Season Is; Set Time, Advance Time, Set Weather, Lock Weather, Set Clock.
- Materials. The weather writes wetness, puddles, snow cover, wind and more into the material parameter collection
MPC_RSEWeather; any material can read it.M_RSE_WeatherGroundis a ready example. - Indoors. Place a Weather Volume with Blocks Precipitation, or set Weather Mode to None and Time Mode to Fixed Hour on the actor for a dungeon.
- Steam Deck and low settings. The sky updates less often, clouds are a painted layer and precipitation uses about a third of the particles. Only the lamps nearest the camera stay real lights.
16.7.7 Multiplayer notes
An interaction is a command: in co-op the host applies it for the player who pressed the key, and lines and notifications show for that player. NPC decisions, reactions and chases run on the host; movement replicates as usual. See Co-op and online.
16.7.8 Performance notes
Groups of visible enemies sleep beyond their Activation Radius and think a few times a second. NPCs update on schedule changes and on a timer, not every frame. Interactables have no Tick. Night lights cap the number of real lights near the camera.
16.8 Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No prompt on an object | Prompt Conditions fail, the object is spent, or it is disabled | Check the conditions; Set Interaction Enabled; for World Interactables check the kind's Use Conditions |
| An examine pickup repeats | The Taken Flag is missing | Set it; it is required and saved |
| A door never opens | Its Open Conditions read the wrong tag | Check the Area or flag the unlock effect writes |
| No random battles | The area is not Enabled, its box misses the ground, no ATB director on the map, or a Repel or x0 trait is active | RSE.Encounter.Status shows the rate |
| A visible enemy is a grey placeholder | Its character has no Appearance | Set one, or the spawner's Appearance Override |
| Enemies walk into walls | No navigation mesh | Add a Nav Mesh Bounds Volume |
| Aggressive enemies never notice the party | A Repel is active with Rate Scales Enemy Detection, or sight is too short | RSE.Encounter.Debug 1 draws the cones |
| Battles start again right after one ends | Grace time too short | Raise Post Battle Grace Seconds |
| A lantern does not light at night | Its schedule is not Night, or the level has no Time of Day actor | Set it, and place the actor |
| NPC stays at one spot | No schedule, or its places do not exist | Set a schedule; place NPC Places with matching ids |
| An NPC does not return after a battle | Reactions are off or its activity cannot be interrupted | Check Reactions → React To Battles |
| "Save the level first" on Generate Map | The level was never saved | Save it |
| A forest shows as buildings on the map | Name rules guessed wrong | Tag the meshes MapForest / MapBuilding |
| No minimap in play | No DA_Map_<Level>, or the player turned it off | Run Generate Map |
| The reinforcements never arrive | The call was interrupted, or the battle ended first | RSE.Reinforcements.Status; see Leftover |
16.9 See also
- Story, dialog and quests for conditions, effects, dialogs and scenes.
- Free Tactics (Live) for battles on the live map, stealth and the party in the world.
- Battle fundamentals for encounters and rewards.
- World building for Populate Zone, interiors and test rooms.
- Save and load, Co-op and online, Platforms and performance.
- Product pages in
docs/product/:exploration-rpg.md,interaction-library.md,random-encounters.md,reinforcements.md,maps-and-minimap.md,time-and-weather.md,living-npcs.md.