World layer

A running project tracks two things about the player independently: which scene is currently active, and which location the player is at. Neither implies the other. The active scene doesn’t have a location; the player does. Whichever scene is running keeps running whether the player walks or stands still.

For the workflow (inspector fields, adding a location, authoring connections and ambiences), see Locations. For the editor mode you draw the spatial graph in, see World Graph.

Two independent axes

The narrative axis is the scene stack. A scene activates, its nodes become eligible for visibility, its lifecycle nodes fire on the transitions in and out. See Scenes and visit state for the whole story.

The spatial axis is the current location. A location is a place in the world the player can be at. Locations connect to each other in a graph the player can traverse; the runtime tracks the current location and the outgoing connections it exposes.

The two axes move independently. A scene can play from a fixed place (a conversation locked to one room), or the player can carry it as they walk (a running interior monologue that survives a Move to). A Move to event relocates the player without disturbing the scene above it.

In the editor’s World Graph, both axes are visible together. Scenes sit on the narrative axis, locations on the spatial one, and the colored Connections between them make the relationships explicit.

Moving between locations

Two paths move the player between locations, and they mean different things.

Move to is the authored path. It fires from an event list somewhere in the project (a node’s events, a scene’s intro or outro, another location’s Enter or Exit events) and sets the player’s current location to the destination. It’s deterministic: it runs when the authoring says it runs, no availability check.

Go to is the player-driven path. When no scene is active, the player sees the current location’s outgoing connections as clickable affordances in the World panel; clicking one relocates the player. The runtime only surfaces a connection if its Visible when passes at the current location, so this path is availability-gated in a way Move to isn’t.

What the player sees when no scene is active. The current location’s outgoing connections surface as Go to affordances, and any encounters staged at the location appear alongside them. The numbered callouts mark (1) an encounter row, (2) its trigger sub-label, (3) the Go to heading, and (4) a connection row.

Both paths run the same transition: the source location’s Exit events fire, the current location updates, then the destination location’s Enter events fire. Enter and Exit events are ordinary event lists cropped to the location-safe event kinds; they’re the natural home for state that should tick whenever the player crosses a threshold.

Encounters bridge the two axes

An encounter is a scene staged at a location. When the player is at that location and the encounter’s trigger conditions are met, the encounter becomes available on the World panel or on a trigger entity (a character or item). Selecting the encounter activates its scene, and the narrative axis takes over until the scene completes.

Encounters are the primary way the two axes meet: the spatial axis decides where content is available, and the narrative axis decides what plays when the player engages. See Encounters for the workflow.

Ambience is location-scoped audio

A location can carry one or more ambiences. An ambience is a named bundle of ambient-layer audio cues attached to a location. The runtime exposes the current location’s ambiences to the host; the host decides how to layer, swap, or cross-fade them based on its own policy.

Ambience belongs to the spatial axis, not the narrative one. Walking between locations changes the ambience the host has to work with; running a scene doesn’t.

When to reach for the world layer

Reach for it whenever where the player is is content the player interacts with. Two patterns are the common ones.

  • The same scenes should surface differently at different places. A conversation should only be available in the alley behind the bar; a codex entry should only unlock on arrival at a new district.
  • Connections between places are part of the gameplay. The player chooses where to go next, and that choice matters.

Projects that don’t need either can leave the world layer implicit: no locations, no connections, everything played from an entry scene.

See also

Docs last synced: 2026-07-08
Screenshot viewer