> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rageon.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Rooms

> Draw rooms on the floor plan, adjust them with handles, and set their height, exterior, lighting, and flags.

A room is a floor outline with a ceiling height. Rageon generates the walls, floor, and ceiling around your rooms; you do not model them. Draw the outline, and the shell follows.

## Draw a room

**1. Open Create room**

Click **Interior** (**1**) in the dock: **Create room** (**1**) is already active. At the structure level, **1** does the same. **Plan** is the easiest view to draw in, but **Map** works too.

![Interior tool level with Create room active and Rectangle, Polygon, and Floor in the structure bar](https://mintcdn.com/rageon/_nzjx4zmIQAxf8Hl/images/structures/structures-dock-interior.webp?fit=max\&auto=format\&n=_nzjx4zmIQAxf8Hl\&q=85\&s=cf62372e63c8b6190cc631c5aceaff64)

The Interior level of the dock. Create room is active, and the bar shows Rectangle, Polygon, and Floor (m).

**2. Choose the shape**

**Rectangle**: drag from corner to corner. **Polygon**: click each vertex. **Enter**, a double-click, or a click on the first point closes it. **Backspace** removes the last point, and **Esc** cancels. The cursor shows the size.

**3. Set the floor**

**Floor (m)** is the height of the plane you draw on, in meters from the structure's origin. With the grid on, it also moves the grid and the Plan cut, so the floor you draw sits on the visible grid.

The cursor snaps to vertices, edges, and the grid. Hold **Ctrl** to place freely. The smallest room is 0.25 m². An outline that crosses itself is refused.

Press **V** to return to **Select**. A new room is named **Room**, is 3 m high, and appears in the tree.

> [!WARNING]
>
> Every new room is named **Room**, and two rooms with the same name block the export. Rename each room as you draw it.

## Adjust a room

With **Select**, a selected room shows handles in the view:

* Corner points: drag to move a corner. **Alt** places freely. **Ctrl** with a click removes the corner.
* Wall midpoints: drag to push a wall. **Shift** moves it freely. **Ctrl** with a click inserts a corner.
* A floor handle: drag to move the floor and keep the ceiling.
* A ceiling handle: drag up or down.

A move that makes the room smaller than 0.25 m² or crosses its outline is refused. To split or trim a room, use **Scissors** in **Plan** mode. See [Portals and openings](/projects/structures/portals-and-openings.md).

## Room properties

Select a room in the tree, the view, or its marker.

![Details column with the tree and the Room section showing Name, Exterior, floorId, exterior visibility depth, Floor, Height, and Vertices](https://mintcdn.com/rageon/_nzjx4zmIQAxf8Hl/images/structures/structures-checker-blocked.webp?fit=max\&auto=format\&n=_nzjx4zmIQAxf8Hl\&q=85\&s=53ebd6d81d83b6bf1ae46f9eeb1f8aea)

The Room and Volume sections for a new room.

| Option | What it does | Default |
| - | - | - |
| **Name** | The room's name. Commits on **Enter** or when you leave the field. Names must be unique, because interior sound finds each room by name. | `Room` |
| **Exterior** | Turns on the outer skin: thick walls and slabs for what the street sees. Off, the room only has the surfaces seen from inside. | Off |
| **floorId** | The floor the room belongs to. The game uses it to group rooms on the same level. | 0 |
| **exteriorVisibiltyDepth** | Through how many portals the outside keeps being drawn from this room. −1 is the game's default. The spelling is the game's. | −1 |
| **Floor (Z)** | Height of the room floor, in meters. | The drawing plane |
| **Height** | From floor to ceiling, in meters. At least 0.1. | 3 |
| **Vertices** | Number of outline points. Read-only. | |
| **Timecycle** | **timecycleName** and **secondaryTimecycleName** pick the lighting inside the room from the game's modifier names. **blend** (0 to 1) mixes them. A name this installation does not know shows `… (not found)`. | None |
| **Flags** | Game flags for the room, such as **Freeze Peds** or **No Directional Light**. See [Flags](/projects/structures/flags.md). | All off |

With two or more rooms selected, **Merge exteriors** joins their exteriors. It needs **Exterior** on for every selected room. When you turn it off, the selected rooms leave the group. Portals between them stay manual.

The **Part** sheet also has **Timecycle modifiers** for parts with rooms: lighting changes over a box you type as **Minimum (m)** and **Maximum (m)**, with **percentage**, **range**, **startHour**, and **endHour**. **Add modifier** creates one that covers all rooms.

## Limits

The game's collision knows which room the player is in only up to room 31. The preview in the Map stops at room 32. Split a larger interior into parts. See [Create and import](/projects/structures/create-and-import.md).

## Troubleshooting

> **Two rooms are named "…": interior sound finds each room by name.**
>
> Rename one of them in **Room** › **Name**.

> **Room "…" has no closed outline — there is no shell to generate.**
>
> The outline has fewer than three points or no area. Delete the room in the tree and draw it again with **Create room**.

> **Room "…" has a ceiling height of … m.**
>
> Set **Height** above 0 (at least 0.1).

> **Rooms "…" and "…" share … m² in common.**
>
> A warning: two rooms overlap in area and height. Move or resize one.

> **… rooms: collision only tells the game which room the player is in up to room ….**
>
> An error: more than 31 rooms in one part. Split the interior into parts or reduce the rooms.

> **… rooms: the preview on the Map does not show beyond ….**
>
> A warning: the preview stops at room 32. The export is not affected.

> **The floor of room "…" will not come out with collision: the game would not know the player is in it.**
>
> Check the room's outline and floor height, and redraw if needed.

> **lodDist … m is smaller than the interior radius (… m).**
>
> A warning: the game could hide the interior while the player is inside. Raise **lodDist** in the **Part** sheet.

> **Timecycle modifier … has no name.**
>
> Choose a **Name** for the modifier, or delete it with **Delete the modifier**.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.