All How To guides
How To · Foundry v14

Foundry VTT Levels Tutorial: How to Build Multi-Story Scenes in v14

This Foundry VTT Levels tutorial walks you through building a multi-story building using the core Scene Levels feature introduced in Foundry Virtual Tabletop v14. You'll learn how to set up elevation bands, configure regions and stairs, manage tile occlusion, tag lights, and integrate the Better Roofs module — with a cross-section diagram and an interactive step-by-step checklist.

Building cross-section diagram

ELEVATION∞ ft20 ft10 ft0 ft−10 ftLevel 3 — Roof20 – ∞ ftsees Levels 1, 2, 3Level 210 – 20 ftsees Levels 1, 2, 3Level 1 — Ground0 – 10 ftsees Levels 1, 2, 3Level 0 — Basement−10 – 0 ftsees no other levelSTAIR ▲STAIR ▲STAIR ▲ROOF TILE — roof / ceiling · Reveals Fog of War: ✓TILE — floor / ceilingTILE — floor / ceilingTILE — floor / ceilingLIGHTREGION — Level 3 (Roof)Levels: Level 3Elevation: Bottom 20, Top ∞Top Inclusive: YesBehavior: Define SurfaceLIGHT — on Level 2Levels: Level 2 — set explicitlyElevation: within the band, e.g. 14Tag every light with the level(s) itlights — never leave Levels blank.TILE — Level 2 floor / ceilingLevels: blank — visible to all levelsElevation: 10Occlusion: Fade, SurfaceRestricts Lights + WeatherSTAIR REGION — Level 1 → 2Levels: Level 1, 2 (both)Elevation: Bottom 0, Top 20 (transects)Top Inclusive: YesBehavior: Change Level · Walk / All
Region — the level volume
Tile — floor / ceiling image
Roof tile — reveals fog
Stair Region — transects two levels
Light — tagged to its level(s)

Orientation — how Foundry treats levels & space

A multi-story building in Foundry is an illusion assembled from a few cooperating pieces. Holding this model in mind makes every setting below make sense.

1. Elevation is the real coordinate. Every token, tile, light and region sits at an elevation. A "level" is just a named elevation band — a Bottom and a Top. "Level 3 — Roof" literally means the slice of space from 20 ft upward; there is no separate roof map.

2. "Top Inclusive" resolves the seam. Stacked bands share a boundary number — 10 ft touches both the 0–10 and 10–20 bands. Top Inclusive hands that top value to this band, so anything resting on a boundary has one unambiguous home.

3. Regions are volumes with a job — not the floor itself. A Region is a shape across an elevation band; on its own it does nothing. Its behaviors are the point: Define Surface says "there is a solid floor / ceiling in this volume" (what tokens stand on, and what light, sight and sound react to); Change Level says "a token entering here is moved to the connected level" (your stairs and ladders). A Change Level region transects two bands.

4. Tiles are artwork plus physics — not the level definition. A tile is just an image at an elevation. Its Overhead settings — Occlusion, Restrict Lights / Weather, and (with Better Roofs) Reveal Fog of War — are what make it behave like a roof or a floor. Swapping a tile's image never changes the level structure; the regions do that.

5. A light's reach is set by its level tag — not just by occlusion. Every light carries a Levels tag. A token perceives a light only if its level is on that tag — or the tag is blank, which means all levels — and only then do elevation and occlusion apply. An overhead tile can occlude a light's colour and illumination, but the vision the light grants a token is not occluded the same way. Tag every light with exactly the levels it should be seen on.

6. Levels and elevation are coordinates, not just filters. For a token on a given level to perceive a placeable, both must line up: the placeable's level tags must include the token's level (or be blank, meaning all levels), and only then do elevation and occlusion decide the rest.

7. New placeables inherit the level you are standing on. The moment you drop a tile, light or region, Foundry stamps it with the level that is currently active — and only that level. Anything meant to be seen across floors (floor/ceiling tiles, holes, balconies) needs its level tag adjusted after placement — cleared (blank = all levels) or extended to every level that should see it.

Coming from the old Levels module? The old module hung level logic on tiles. Core Foundry moves that logic onto Regions and their behaviors:

  • Stairs and ladders are no longer a special tool — they are a Region with a Change Level behavior that transects two levels.
  • A floor is a Region with Define Surface, not a tagged tile. Tiles are now just art and occlusion.
  • Holes and open shafts are cut with the Region's draw-hole tool — a sub-shape that subtracts from the region.
  • Lights still take a level tag — keep tagging them. A blank Levels field means "all levels," which leaks light into basements.
  • Every placeable auto-tags to the active level. Widen or clear that tag for anything meant to span floors.

If you catch yourself trying to make a tile "be" the floor, that's the old reflex — place a region instead.

Still recommended: the Better Roofs module. Core Levels handles the structure, but Better Roofs adds two tile capabilities core Foundry does not provide on its own:

  • Reveal through Fog of War. The Reveals Fog of War option on the Roof tile comes from Better Roofs — needed so the roof stays visible while a token is standing outside the building looking at it.
  • OcclusionID & Occlusion Source. A shared ID across tiles so a roof or floor built from more than one tile fades in and out as a single piece.

Build checklist

0 / 27 done

For each level, place the Tile first, then its Surface Region, then its Stair Region. Every placeable you drop is auto-tagged to the level you are currently on — watch for the steps that tell you to clear or widen that tag.

1

Define the four scene levels

In the scene's Levels configuration, create each level as a Bottom/Top elevation band, then set its visibility list — the other levels visible from that one.

2

Level 1 — Ground

0 – 10 ft · visible to 1, 2, 3

Tile (placed first)
Surface Region
Stair Region
3

Level 2

10 – 20 ft · visible to 1, 2, 3

Tile (placed first)
Surface Region
Stair Region
4

Level 3 — Roof

20 – ∞ ft · visible to 1, 2, 3

Tile (placed first)
Surface Region
Stair Region

No Stair Region — nothing above the roof to climb to.

5

Level 0 — Basement

−10 – 0 ft · visible to: none

Tile (placed first)
Surface Region
Stair Region
6

Test the setup

Drop in a token and walk it through the building.

Checklist progress is not saved — reloading clears the ticks.

Notes

  • Work one level at a time. Each step is a complete floor — Tile, then Surface Region, then Stair Region.
  • The Roof tile is the only tile that reveals Fog of War — an option supplied by Better Roofs.
  • Multi-tile roofs and floors — give every tile in the surface the same Better Roofs OcclusionID so they occlude together as one piece.
  • Stair Regions transect two bands. The Levels tag holds both levels; Elevation spans from the bottom of the lower band to the top of the upper one. Behavior: Change Level, Movement: Walk / All.
  • Tiles are left blank on Levels for the Roof, Level 2 and Ground; the Basement tile is placed on Level 0. A freshly dropped tile auto-tags to your current level — clear that tag for "all levels" tiles.
  • The Basement's visibility list is empty — it stays sealed off both ways.

Placing other entities

Once the levels, tiles, regions and stairs above are placed, the remaining entities are straightforward:

■ Walls — switch to the level you are working on so it is the active level, then draw its walls. Each wall automatically inherits the active level, so there is no manual assignment.

■ Lightstag each light with the levels it should be visible on; do not leave the Levels field blank. A blank field means "all levels," and light leaking between floors (especially into basements) is unpredictable. A balcony light on the 2nd story should be tagged Ground + Level 2, not the Basement.

■ Tiles (ladders, props, decoration) — when you drop one it is auto-tagged to the level you are on, which is usually what you want. Only widen the Levels tag if the tile should be visible from more than one floor — a tile over a hole or balcony is one of those cases.

Frequently asked questions

What are Scene Levels in Foundry VTT v14?

Scene Levels are a core Foundry VTT v14 feature that lets you create multi-story buildings by dividing a scene into named elevation bands. Each level is a Bottom-to-Top elevation range with its own visibility list, so tokens on one floor only see the placeables tagged for that level.

Do I need the old Levels module in Foundry v14?

No. The functionality from the old third-party Levels module has been merged into core Foundry VTT as Scene Levels. The old module is retired. You only need core v14 plus the Better Roofs module for fog-of-war reveal and OcclusionID features.

How do stairs work in Foundry VTT Scene Levels?

Stairs are created as a Region with the Change Level behavior. The region's elevation must transect both levels it connects, and its Levels tag must include both levels. When a token enters the region, Foundry automatically moves it to the connected level.

What is the difference between a Region and a Tile in Scene Levels?

A Region is a volume with a behavior like Define Surface or Change Level — it is what makes a floor solid and what moves tokens between levels. A Tile is just artwork at an elevation; its Overhead settings (Occlusion, Restrict Lights, Reveal Fog of War) control how it looks, but the level structure is defined by Regions.

Keep building