vedaloivdocs

Guide

Room Designer

Documentation for v1.1.0Editor toolUnity 6000.5.0+

The Room Designer is where you paint a room: floor cells, doors, stairs, and holes, on one or more floors. You save the result as a room prefab, and the generator uses that prefab to build dungeons.

On this page
  1. Open the designer
  2. Paint your first room
  3. Layout mode
  4. Room doors
  5. Doors and socket types
  6. Multi-floor rooms and stairs
  7. Save a room prefab
  8. Setup Room Prefab
  9. Room Prefab Manager
  10. Common mistakes

Open the designer#

Open Tools › DungeonGen › Room Designer. The window has two modes. Layout paints the room. Objects edits its decoration; see Objects mode.

Paint your first room#

  1. Open a room. Click New for an empty layout, or Open Layout for a saved one. Click Save Layout to store the layout as a Room Design asset. A new layout asks for a file path, and the file goes in your content folder.

  2. Set the basics in the left panel: Name, Room Type (Normal, Entrance, Exit, Treasure, or Boss), and Theme (your DungeonTheme). Under Grid Size, enter Width and Height and click Apply Resize. New rooms start at 12 × 10 cells.

  3. Paint the floor. Select the Floor brush, press F, and drag over the cells that should be walkable. Right-click erases a cell.

  4. Add doors. Select the Door brush with D and click a floor cell that touches a wall. The door is placed on that wall. You can also click the wall cell directly.

  5. Check the result. Click Generate to render the room in the scene. Use the Scene Preview toggles to show or hide walls, doors, stairs, and ceilings.

    Room Designer in Layout mode with a new empty room: Room Type buttons, Floor, Door, Stair and Hole brushes, stair opening settings, and the grid to paint on.
    Layout mode: room settings and brushes on the left, the grid on the right.
  6. Click Save Prefab and choose a file in your content folder. See Save a room prefab.

Layout mode#

Brush or actionKeyWhat it does
FloorFPaints a walkable cell. Removes any door or room door on that cell.
DoorDPlaces a connector door on a wall cell. Click a floor cell to use the wall next to it. After a generate, clicking a door in the preview opens or closes it.
Room DoorPTurns a floor cell between two opposite floor cells into a fixed two-sided door, without a connector. See Room doors.
StairSPlaces a stair opening that links this floor to the floor above or below. See Multi-floor rooms.
HoleHPaints an explicit opening in the floor, for when a design needs one.
Rect Delete—Tool, not a brush: drag a rectangle to erase every cell in it.
Invert Room DoorISwitches which side of the next Room Door shows the main visual and which shows the variant.
Rotate stair axisRCycles the stair axis North → East → South → West.
Fit to view0Fits the design to the canvas.
Pan and zoomMiddle mouse, wheelMiddle-drag pans the canvas. The mouse wheel zooms.

Doors are overlays. Walls are created from the neighboring walkable cells, so do not paint wall cells by hand.

Room doors#

A room door needs two opposite floor cells. The Room Door brush reads the direction from those neighbors, and a cell with floor on all four sides is rejected as ambiguous. Use the Invert toggle, or press I, to flip which side shows the main visual. A room door is a static two-sided door and gets no connector.

Doors and socket types#

Each usable doorway on a room prefab gets a DoorSocket. A socket has a direction and one of four states: closed, open, passage, or locked. The generator sets these states when it connects two rooms.

A Door Socket Type tags a doorway so only compatible doorways connect:

  • A socket with no type is a wildcard and connects to any socket.
  • Two sockets with the same type asset connect.
  • Two different types connect only when one has been declared compatible with the other. The declaration is symmetric.

Create a type with Assets › Create › DungeonGen › Door Socket Type. In the Room Designer, select the type in the Door Socket Types section before you paint doors. The same section lets you create a new type.

Multi-floor rooms and stairs#

Use + Below and + Above in the Floors section to add floors. Paint each floor separately. Remove Current deletes the selected floor, but only if no stair uses it and the room keeps at least one floor.

  1. Select the floor where the stair starts.
  2. Choose the Stair brush (S) and set the Floor Delta to +1 (up) or −1 (down).
  3. Choose the axis: North, East, South, or West. The stair climbs in that direction.
  4. Click the cell where the stair starts. The connected floor is added if it does not exist yet.

The stair's size (its length, back length, and width) comes from the theme's stair profile, not from the designer. Author it in the Dungeon Theme Wizard. The designer refuses a stair that would leave the grid, overlap a door, or overlap another stair, and it shows the reason in the status line.

The renderer creates the floor opening, the wall gaps, and the ceiling cutout from the stair. Do not add a hole on the same spot.

Save a room prefab#

Save Prefab generates the room and writes it to a prefab. Choose a folder outside Assets/DungeonGenerator/. The dialog opens in the folder you used last, or in Assets/Prefabs when it exists.

The saved prefab contains:

  • a RoomData root, with the room type and the theme's tile size;
  • a DoorSocket for each doorway, with its socket type;
  • a RoomDecorationAuthoring component with a baked snapshot of the room geometry;
  • supportsDoubleWalls, copied from the theme's Double-Sided Walls setting.

If the room has a Decoration Profile, the save first validates the profile and bakes its footprints. A profile error stops the save and shows a Decoration Validation Failed dialog.

Bake Decor (shown in Objects mode) decides where the furniture goes. Off, the prefab stays bare and the furniture is placed at runtime from the profile and seed. On, the furniture is saved into the prefab in a Decoration folder, and the runtime skips it.

Setup Room Prefab#

Use Tools › DungeonGen › Setup Room Prefab on a prefab you built by hand, without the Room Designer. Select the prefab root first. The tool adds RoomData and a DoorSocket to each door, and reads the grid coordinates from the names of the tiles. It expects the nested Doors, Walls, and Floors containers that the Room Designer creates. Without door meshes in a Doors container, it stops with an error.

Room Prefab Manager#

Open Tools › DungeonGen › Room Prefab Manager after you change a theme or a design. It lists every Room Design, links each one to its prefab, and regenerates prefabs from their designs.

The labels in this window are German in version 1.1.0. Their meanings are:

LabelMeaning
AktualisierenRefresh the list of designs.
Namen zuordnenLink each design to a prefab with the same name.
Zuordnen…Choose the prefab for one design.
Auswahl neu erzeugenRegenerate the checked designs.
Neu erzeugenRegenerate one design.
DiagnoseCheck whether tiles stay nested prefabs or are baked flat.

Common mistakes#

  • Walls painted by hand. Walls come from the floor. Paint floors and doors only.
  • Two stairs or a hole on one stair. The stair already makes the opening.
  • No room type on the template node. A room used by a template must have the matching Room Type. See Templates and generation.