> ## 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.

# Your first interior

> Build one room with an Entrance, check it, export it, and load it on a FiveM server.

This tutorial builds a small shop: one room, one Entrance, one texture. Use a throwaway project and a test server. You need the game indexed, as in the Assets tab, the Map library generated (see [Library](/map/library.md)), and a project that is open in **Projects**.

**1. Create the structure**

Click **Structures** under **Modeling**, then **New structure**. Type `my_shop` in **Structure name** and click **Create structure**.

![New structure dialog with My Shop in the Structure name field and Create structure enabled](https://mintcdn.com/rageon/_nzjx4zmIQAxf8Hl/images/structures/structures-new-dialog.webp?fit=max\&auto=format\&n=_nzjx4zmIQAxf8Hl\&q=85\&s=a52d0bcbd394a344780f03dc69a2aa75)

The New structure dialog with a name typed.

The editor opens in the **Map** view. The **Checker** reports that the structure is empty. That is expected.

**2. Anchor it to a place**

The structure starts at world position 0, 0, 0, far from any street. Fly to the spot you want with right-drag and the wheel, or open **View** (**N**) › **Camera** and type **Position (m)**. Then:

1. Click **Select map objects** (**Shift+M**) in the bottom dock.
2. Click a building or prop at that spot.
3. In the **Object** node, click **Actions** › **Focus rendering**.
4. Click **Select** (**V**) to leave map picking.

The part's origin, the grid, and the rendering box move to that object. The camera stays where it was: press **F** to frame the part.

> [!NOTE]
>
> The origin moves only while the part is still empty. A part that already has content keeps its position. To move it later, type **Position (m)** in the **Part** sheet.

**3. Draw the room**

Click **Plan** in the structure bar. Click **Interior** (**1**) in the dock: **Create room** is already active. Choose **Rectangle** and drag a rectangle of about 6 m by 4 m on the grid. The cursor snaps to what is under it; hold **Ctrl** to place freely.

![Interior tool level of the dock 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)

Create room is active; the bar offers Rectangle, Polygon, and Floor (m).

The room appears in the tree as **Room**. Press **V** to go back to **Select**.

**4. Add the Entrance**

Click **Entrance** (**3**) and click twice along the wall that faces the street. The wall opens and a portal to the street appears, marked **Entrance**. Press **V**, then click the portal in the tree to adjust its **Width (m)** and **Height (m)**.

![Portal sheet with direction Room to street, Entrance on, Width and Height fields](https://mintcdn.com/rageon/_nzjx4zmIQAxf8Hl/images/structures/structures-portal-properties.webp?fit=max\&auto=format\&n=_nzjx4zmIQAxf8Hl\&q=85\&s=32d235b7aa7a1a5868babda26f25fbf3)

An Entrance portal: direction Room to street, with Width and Height.

The tree lists the portal by an internal id, not by a name. A physical door is a prop attached to the portal: see [Props in structures](/projects/structures/props-in-structures.md).

**5. Name the room**

Click the room in the tree. In **Room**, type `shop` in **Name**. Turn **Exterior** on if you want thick outer walls where the street sees the room.

**6. Texture the walls**

A new room has no texture, and the Checker blocks the export until it has one. Click a Checker row that reads "… without a texture. Click to mark them and apply a texture before exporting." The tool switches to **Edit geometry** with those faces selected. In **Material**, click **Library**, pick a texture, and click **Apply texture**. Repeat for every texture row left.

![Details column with six faces selected and the Material section showing a concrete texture, Library, and Import](https://mintcdn.com/rageon/_nzjx4zmIQAxf8Hl/images/structures/structures-checker-ready.webp?fit=max\&auto=format\&n=_nzjx4zmIQAxf8Hl\&q=85\&s=4b704e68ef53e868d8b49ecb8e1a4e48)

Clicking a texture row selects the faces; Material takes a texture from the Library.

See [Textures](/projects/structures/textures.md).

**7. Check and save**

The **Checker** should read **Ready to export**. Warnings may remain; they do not block. Press **Ctrl+S**: the project badge reads **Saved**. A project you never saved asks where to keep it first.

**8. Export to the server**

Press **Ctrl+E**. A folder picker opens: choose the server's `resources/` folder, or a category folder inside it. In **Export to a folder**, set **Resource folder**, then click **Export**.

![Export to a folder dialog with the Resource folder field, the final path, and the folder button](https://mintcdn.com/rageon/_nzjx4zmIQAxf8Hl/images/structures/structures-export-folder.webp?fit=max\&auto=format\&n=_nzjx4zmIQAxf8Hl\&q=85\&s=d4ed40e79e936ef6720852c5dc84f644)

The first export asks for a resource folder name and shows the final path.

**Project exported** lists the files written. Click **Open folder** to see them.

![Project exported dialog listing the ytyp, ymap, ydr, ybn, ytd, and other files written](https://mintcdn.com/rageon/_nzjx4zmIQAxf8Hl/images/structures/structures-export-done.webp?fit=max\&auto=format\&n=_nzjx4zmIQAxf8Hl\&q=85\&s=0c58763c096f8400f794a71c0186b15a)

The result: the files written for the structure.

**9. Load it in game**

Add `ensure my_shop` to `server.cfg`, using your resource folder name, and restart the server. Join, go to the part's **Position (m)**, and walk in through the Entrance.

> [!NOTE]
>
> The game draws an interior in full only when you are inside it or looking through one of its portals. From outside, you see the shell.

## Update it later

Change the structure, press **Ctrl+S**, then **Ctrl+E**. The export goes to the same folder with no dialogs and replaces the previous resource. To see changes without restarting, try [Hot reload](/projects/hot-reload.md); rooms and portals still need an export.

## Troubleshooting

> **Export blocked: … problem(s) prevent writing the resource. Click one to mark the culprit.**
>
> A strip over the view lists what blocks the export. Click a row to select the room, portal, or faces involved. See [Checker](/projects/structures/checker.md).

> **No Entrance: without a room portal to the limbo the player cannot enter.**
>
> Use the **Entrance** tool on an outer wall. See [Portals and openings](/projects/structures/portals-and-openings.md).

> **The resource does not appear in game.**
>
> Check the server console: the resource must have started. Confirm `ensure` names the exported folder, and that the folder sits inside `resources/`. Do not edit the lines Rageon wrote in `fxmanifest.lua`.

> **The interior is somewhere else.**
>
> The part sits at its **Position (m)**. A structure you never anchored is at 0, 0, 0.


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