> For the complete documentation index, see [llms.txt](https://documentation.rcore.cz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.rcore.cz/paid-resources/rcore_housing/integrations/shells.md).

# Shells & IPLs

`rcore_housing` ships with a curated catalog of property interiors. Each entry already has the door, wardrobe, storage, management, and shower offsets dialled in - pick one in the Interior Creator and it just works.

## 🏠 Built-in Shells

`rcore_housing` ships with a comprehensive shell catalog from multiple creators. You need to own and stream the corresponding resources on your server; `rcore_housing` only ships the offset catalog.

### K4MB1 Shells

| Label                     | Model                      | Author |
| ------------------------- | -------------------------- | ------ |
| Ranch                     | `k4_ranch1_shell`          | K4MBI  |
| Ranch 2                   | `k4_ranch2_shell`          | K4MBI  |
| House Shell 1             | `k4_house1_shell`          | K4MBI  |
| House Shell 2             | `k4_house2_shell`          | K4MBI  |
| House Shell 3             | `k4_house3_shell`          | K4MBI  |
| House Shell 4             | `k4_house4_shell`          | K4MBI  |
| House Shell 5             | `k4_house5_shell`          | K4MBI  |
| House Shell 6             | `k4_house6_shell`          | K4MBI  |
| House Shell 7             | `k4_house7_shell`          | K4MBI  |
| House Shell 8             | `k4_house8_shell`          | K4MBI  |
| House Shell 9             | `k4_house9_shell`          | K4MBI  |
| House Shell 10            | `k4_house10_shell`         | K4MBI  |
| House Shell 11            | `k4_house11_shell`         | K4MBI  |
| House Shell 12            | `k4_house12_shell`         | K4MBI  |
| House Shell 13            | `k4_house13_shell`         | K4MBI  |
| House Shell 14            | `k4_house14_shell`         | K4MBI  |
| House 4 Furnished         | `k4_house4_furn`           | K4MBI  |
| Michael                   | `k4_michael_shell`         | K4MBI  |
| Michael 2                 | `k4_michael2_shell`        | K4MBI  |
| Modern 1                  | `k4_modern1_shell`         | K4MBI  |
| Modern 2                  | `k4_modern2_shell`         | K4MBI  |
| Modern 3                  | `k4_modern3_shell`         | K4MBI  |
| Modern 5                  | `k4_modern5_shell`         | K4MBI  |
| Modern 9                  | `k4_modern9_shell`         | K4MBI  |
| Medium 1                  | `k4_shell_medium1`         | K4MBI  |
| Medium 2                  | `k4_shell_medium2`         | K4MBI  |
| Medium 3                  | `k4_shell_medium3`         | K4MBI  |
| Medium 4                  | `k4_shell_medium4`         | K4MBI  |
| Medium 5                  | `k4_shell_medium5`         | K4MBI  |
| Medium 6                  | `k4_shell_medium6`         | K4MBI  |
| Trailer 1                 | `k4_trailer1_shell`        | K4MBI  |
| Trailer 2                 | `k4_trailer2_shell`        | K4MBI  |
| Trevor 1                  | `k4_trevor1_shell`         | K4MBI  |
| Trevor 2                  | `k4_trevor2_shell`         | K4MBI  |
| Low 1                     | `k4_v16low1_shell`         | K4MBI  |
| Low 2                     | `k4_v16low2_shell`         | K4MBI  |
| Mid 1                     | `k4_v16mid1_shell`         | K4MBI  |
| Mid 2                     | `k4_v16mid2_shell`         | K4MBI  |
| Mid 3                     | `k4_v16mid3_shell`         | K4MBI  |
| Mid 4                     | `k4_v16mid4_shell`         | K4MBI  |
| Loft 1                    | `k4_loft1_shell`           | K4MBI  |
| Loft 2                    | `k4_loft2_shell`           | K4MBI  |
| Loft 3                    | `k4_loft3_shell`           | K4MBI  |
| Manor 1                   | `k4_manor1_shell`          | K4MBI  |
| Manor 2                   | `k4_manor2_shell`          | K4MBI  |
| Banham 1                  | `k4_banham1_shell`         | K4MBI  |
| Banham 2                  | `k4_banham2_shell`         | K4MBI  |
| Highend 1                 | `k4_highend1_shell`        | K4MBI  |
| Highend 2                 | `k4_highend2_shell`        | K4MBI  |
| Highend 3                 | `k4_highend3_shell`        | K4MBI  |
| Highend 4                 | `k4_highend4_shell`        | K4MBI  |
| Highend 5                 | `k4_highend5_shell`        | K4MBI  |
| Highend 6                 | `k4_highend6_shell`        | K4MBI  |
| Highend 7                 | `k4_highend7_shell`        | K4MBI  |
| Highend 8                 | `k4_highend8_shell`        | K4MBI  |
| Highend 9                 | `k4_highend9_shell`        | K4MBI  |
| Highend 10                | `k4_highend10_shell`       | K4MBI  |
| Lester 1                  | `k4_lester1_shell`         | K4MBI  |
| Lester 2                  | `k4_lester2_shell`         | K4MBI  |
| Westons 1                 | `k4_westons1_shell`        | K4MBI  |
| Westons 2                 | `k4_westons2_shell`        | K4MBI  |
| Westons 3                 | `k4_westons3_shell`        | K4MBI  |
| Westons 4                 | `k4_westons4_shell`        | K4MBI  |
| Classic 1                 | `k4_classic1_shell`        | K4MBI  |
| Classic 2                 | `k4_classic2_shell`        | K4MBI  |
| Classic 3                 | `k4_classic3_shell`        | K4MBI  |
| Classic 4                 | `k4_classic4_shell`        | K4MBI  |
| Classic 5                 | `k4_classic5_shell`        | K4MBI  |
| Classic 6                 | `k4_classic6_shell`        | K4MBI  |
| Basement 1-5              | `k4_basement[1-5]_shell`   | K4MBI  |
| Biker 1-3                 | `k4_biker[1-3]_shell`      | K4MBI  |
| Container                 | `k4_container_shell`       | K4MBI  |
| Container 2 (illegal)     | `k4_container2_shell`      | K4MBI  |
| Bunker (illegal)          | `k4_bunker_shell`          | K4MBI  |
| Gun Shell (illegal)       | `k4_guns_shell`            | K4MBI  |
| Hideout (illegal)         | `k4_hideout_shell`         | K4MBI  |
| Acid Lab (illegal)        | `k4_labacid_shell`         | K4MBI  |
| Coke Lab 1-2 (illegal)    | `k4_labcoke[1-2]_shell`    | K4MBI  |
| Lab 1-4 (illegal)         | `k4_labempty[1-4]_shell`   | K4MBI  |
| Lab Meth 1-2 (illegal)    | `k4_labmeth[1-2]_shell`    | K4MBI  |
| Lab Weed 1-2 (illegal)    | `k4_labweed[1-2]_shell`    | K4MBI  |
| Laundry (illegal)         | `k4_laundry_shell`         | K4MBI  |
| Stash House 1-4 (illegal) | `k4_stashhouse[1-4]_shell` | K4MBI  |
| Storage                   | `k4_storage_shell`         | K4MBI  |
| Store 1-5                 | `k4_store[1-5]_shell`      | K4MBI  |
| Office 1-8                | `k4_office[1-8]_shell`     | K4MBI  |
| Studio                    | `k4_studio_shell`          | K4MBI  |
| Textile                   | `k4_textile_shell`         | K4MBI  |
| Truck Warehouse           | `k4_truckwarehouse_shell`  | K4MBI  |
| Warehouse 1-6             | `k4_warehouse[1-6]_shell`  | K4MBI  |
| Garage 1-11               | `k4_garage[1-11]_shell`    | K4MBI  |
| Furnished Hotel 1-6       | `k4_hotel[1-6]_furn`       | K4MBI  |
| Furnished House 1-8       | `k4_house[1-8]_furn`       | K4MBI  |
| Furnished Motel 1-2       | `k4_motel[1-2]_furn`       | K4MBI  |
| Hotel 1-3                 | `k4_hotel[1-3]_shell`      | K4MBI  |
| Motel 1-3                 | `k4_motel[1-3]_shell`      | K4MBI  |
| Richman 1-3               | `k4_richman[1-3]_shell`    | K4MBI  |
| VW House 1-2              | `k4_vwhouse[1-2]_shell`    | K4MBI  |
| VW Mansion 1-7            | `k4_vwmansion[1-7]_shell`  | K4MBI  |
| Mansion 4B                | `k4_vwmansion4b_shell`     | K4MBI  |
| Apartment 1-3             | `k4_apa[1-3]_shell`        | K4MBI  |

### Atenea Shells

| Label                     | Model                            | Author |
| ------------------------- | -------------------------------- | ------ |
| Atenea Housing 1-3        | `ate_housing_[1-3]`              | Atenea |
| Atenea Office (cream)     | `ate_oficinacrema`               | Atenea |
| Atenea Office (decorated) | `ate_oficinadecorada`            | Atenea |
| Atenea Studio             | `ate_estudio`                    | Atenea |
| Atenea Studio (decorated) | `ate_estudio_decorado`           | Atenea |
| Atenea Gaming (empty)     | `ate_shell_gaming_empty`         | Atenea |
| Atenea Gaming (furnished) | `ate_shell_gaming_furniture`     | Atenea |
| Atenea Deluxe (empty)     | `ate_habitacion_deluxe`          | Atenea |
| Atenea Deluxe (decorated) | `ate_habitacion_deluxe_decorada` | Atenea |
| Atenea Apartment Inicial  | `ate_apartament_inicial`         | Atenea |

### Other Shells

| Label                    | Model                         | Author     |
| ------------------------ | ----------------------------- | ---------- |
| DC House 1               | `dc_houseoneunf`              | DC Customz |
| BK House 1               | `bk_houseone`                 | DC Customz |
| Envi Shell 1 (empty)     | `envi_shell_01_empty`         | ENVI       |
| Envi Shell 1 (furnished) | `envi_shell_01_furnished`     | ENVI       |
| Envi Shell 2 (empty)     | `envi_shell_02_empty`         | ENVI       |
| Envi Shell 2 (furnished) | `envi_shell_02_furnished`     | ENVI       |
| Envi Shell 3 (empty)     | `envi_shell_03_empty`         | ENVI       |
| Envi Shell 3 (furnished) | `envi_shell_03_furnished`     | ENVI       |
| Sandy Apts 1             | `prompt_sandy_apts_shell_1bd` | Prompt     |
| Sandy Apts 2             | `prompt_sandy_apts_shell_2bd` | Prompt     |

{% hint style="info" %}
Models that aren't streamed on the client are skipped at runtime. If the property creator says "shell section disabled," make sure your shell resource is started.
{% endhint %}

## 🏢 Built-in IPLs

| Label            | IPL               |
| ---------------- | ----------------- |
| Modern Apartment | `apa_v_mp_h_01_a` |

## ➕ Adding Custom Shells & IPLs

Any other shell or IPL can be registered in-game - no config file editing required.

{% hint style="warning" %}
**Why is my Shells / IPLs list empty?**

The picker in the Property Creator only shows interiors that have been registered in the **Interior Creator**. The built-in catalog (K4MB1 shells and the Modern Apartment IPL listed above) is seeded automatically — everything else must be added by an admin through Interior Creator before it will appear.

Two common causes of an empty list:

* **You added an IPL or custom shell but skipped the Interior Creator step.** Defining an IPL name or spawning a shell in the world is not enough — it must be registered so the catalog knows its entry/exit points and offsets.
  {% endhint %}

{% stepper %}
{% step %}

### Open the Interior Creator

As admin, run `/housing` and open **Property Manager → Interior Creator**.
{% endstep %}

{% step %}

### Add the entry

Pick **Shell** or **IPL**, set the model/IPL name and label, then place the door, wardrobe, storage, management, and (optional) shower offsets in-world.
{% endstep %}

{% step %}

### Save

Saving upserts the entry into the live `rcore_housing_interior_catalog` table - it becomes available immediately to all clients and admins.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
The interior catalog is seeded into the database on first boot only. After that, the in-game Interior Creator is the source of truth - editing the seed file on an existing install has no effect.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://documentation.rcore.cz/paid-resources/rcore_housing/integrations/shells.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
