> 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/garage.md).

# Garage

Properties with a GARAGE zone hand off to the configured garage resource for vehicle storage and spawn.

## 🔎 Auto Detection

```lua
Config.Garages = AUTO_DETECT
```

Override with the matching constant if detection picks the wrong one:

| Constant          | Resource             |
| ----------------- | -------------------- |
| `Garages.RCORE`   | `rcore_garage`       |
| `Garages.QB`      | `qb-garages`         |
| `Garages.QBOX`    | `qbx_garages`        |
| `Garages.OKOK`    | `okokGarage`         |
| `Garages.ESX`     | `esx_garage`         |
| `Garages.RX`      | `RxGarages`          |
| `Garages.AK47`    | `ak47_garage`        |
| `Garages.AK47_QB` | `ak47_qb_garage`     |
| `Garages.CD`      | `cd_garage`          |
| `Garages.JG`      | `jg-advancedgarages` |
| `Garages.LOAF`    | `loaf_garage`        |

## 🧩 Supported Resources

{% tabs %}
{% tab title="rcore\_garage" %}
Resource: `rcore_garage`

Native rcore integration - the GARAGE zone registers an `rcore_garage` instance scoped to the property, using the property name as its label. Recommended when you already run the rcore ecosystem.
{% endtab %}

{% tab title="qb-garages" %}
Resource: `qb-garages`

Each property's garage zone registers a QB garage instance scoped to the property. The garage uses the property's name as its label.
{% endtab %}

{% tab title="qbx\_garages" %}
Resource: `qbx_garages`

QBox fork of qb-garages. Same shape, just running through `qbx_garages` exports.
{% endtab %}

{% tab title="okokGarage" %}
Resource: `okokGarage`

The bridge hands off to okokGarage with the property's coordinates and a per-property garage ID.
{% endtab %}

{% tab title="esx\_garage" %}
Resource: `esx_garage`

ESX variant - registers an ESX garage per property.
{% endtab %}

{% tab title="RxGarages" %}
Resource: `RxGarages`

The bridge hands off the property's coordinates and a per-property garage ID to RxGarages for storage and spawn.
{% endtab %}

{% tab title="ak47\_garage" %}
Resource: `ak47_garage`

AK47 garage (ESX/standalone build). Each property registers an ak47 garage instance scoped to its zone.
{% endtab %}

{% tab title="ak47\_qb\_garage" %}
Resource: `ak47_qb_garage`

The QBCore build of the AK47 garage. Use this constant on QB servers running the ak47 garage; the bridge calls the QB-specific exports.
{% endtab %}

{% tab title="cd\_garage" %}
Resource: `cd_garage`

CodeSign garage - the bridge registers a cd\_garage per property using the property coordinates and name.
{% endtab %}

{% tab title="jg-advancedgarages" %}
Resource: `jg-advancedgarages`

JG Advanced Garages. The bridge creates a per-property garage through the JG exports.
{% endtab %}

{% tab title="loaf\_garage" %}
Resource: `loaf_garage`

Loaf Garage. Each property's GARAGE zone maps to a loaf\_garage instance.
{% endtab %}

{% tab title="Standalone" %}
Without a garage resource, the GARAGE zone is hidden in the property UI and no vehicle storage is exposed.
{% endtab %}
{% endtabs %}

## 🧭 Property Setup

Add a GARAGE zone when creating a property - see [Property Creator](/paid-resources/rcore_housing/features/property-creator.md). The zone provides:

* A spawn point where stored vehicles materialize.
* A "store vehicle" interaction at the same point.

Vehicle persistence is fully delegated to the garage resource - `rcore_housing` does not maintain its own vehicle table.
