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

# Providers

`rcore_housing` ships compatibility layers for resources that expect a specific apartment / housing system to be running. These let starter apartments, character selection, and similar flows continue to work after you replace your existing housing with `rcore_housing`.

## 🪞 qb-apartments / qbx-apartments

`rcore_housing/fxmanifest.lua` declares:

```lua
provides {
    'qb-houses',
    'qb-apartments',
    'qbx-apartments',
}
```

This makes `rcore_housing` advertise itself as a drop-in replacement for `qb-houses`, `qb-apartments`, and `qbx-apartments`. Resources that check `GetResourceState('qb-apartments')` see it as started.

The provider lives at `modules/bridge/providers/qb-apartments/` and translates the old apartment API calls (`SetupSpawns`, `CreateApartment`, etc.) into `rcore_housing` operations against the [Starter Apartment](/paid-resources/rcore_housing/features/starter-apartments.md) system.

## 👤 Multicharacter Providers

The providers below integrate with character-select resources to restore last-known property locations and skip redundant starter apartment flows when a known player switches characters.

### 🔎 Support Status

| Provider            | Type     | Support                     |
| ------------------- | -------- | --------------------------- |
| op-multicharacter   | External | Official Integration Coming |
| esx\_multicharacter | Built-in | Handled by rcore\_housing   |
| 17mov\_charSystem   | External | Official Integration Coming |
| qs\_multicharacter  | Built-in | Handled by rcore\_housing   |
| um-multichar        | Built-in | Handled by rcore\_housing   |
| vms\_multichar      | Built-in | Handled by rcore\_housing   |
| wasabi\_multichar   | Built-in | Handled by rcore\_housing   |
| ZSX\_Multicharacter | External | Official Integration Coming |

***

### op-multicharacter

Official integration with op-multicharacter character system.

{% hint style="info" %}
**Official op-multicharacter Integration Coming**

This handler will be included out of the box in an upcoming op-multicharacter update. The integration has already been submitted to the op-multicharacter team for inclusion in their official release.
{% endhint %}

#### Setup

1. Download the handler file below
2. Place in: `op-multicharacter/integrations/server/housing/rcore_housing.lua`

#### Download Handler

{% file src="/files/YakpyVYyUUOmYiXc4Hje" %}
op\_multicharacter\_rcore\_housing.lua
{% endfile %}

#### Features

* Automatically assign a starter apartment to new characters
* Integrates with op-multicharacter's character creation flow

***

### esx\_multicharacter

The provider at `modules/bridge/providers/esx_multicharacter/` hooks into ESX's character-select to:

* Restore the player's last known property location on spawn.
* Skip the starter apartment flow for already-known characters.
* Clean up housing player data if a character is deleted.
* Hand off cleanly after a character switch.

No configuration is required - the provider activates automatically if `esx_multicharacter` is running.

Control auto-teleport behavior with `Config.StarterApartment.TeleportOnAssign` in `configs/config.lua`.

{% hint style="warning" %}
**Built-in Provider**

This provider is handled by rcore\_housing and included in the base resource. No separate handler files are needed.
{% endhint %}

### 17mov\_charSystem

Official integration with 17 Mov Character System.

{% hint style="info" %}
**Official 17mov\_charSystem Integration Coming**

This handler will be included out of the box in an upcoming 17 Mov Character System update. The integration has already been submitted to the 17 Mov team for inclusion in their official release.
{% endhint %}

#### Setup

1. Download the handler files below
2. Place in:
   * `17mov_CharacterSystem/bridge/housing/rcore_housing/server.lua`
   * `17mov_CharacterSystem/bridge/housing/rcore_housing/client.lua`

#### Download Handlers

{% file src="/files/VrDn1Przbe25AGW9S1OH" %}
17mov\_charsystem\_server\_rcore\_housing.lua
{% endfile %}

{% file src="/files/1kPDMdQwLE0nPgMqWYnW" %}
17mov\_charsystem\_client\_rcore\_housing.lua
{% endfile %}

#### Features

* Retrieve player's owned properties for spawn selection
* Enter property by ID with automatic teleport
* Restore last-visited property on character spawn
* Remove last-property record for clean character switching

{% hint style="info" %}
If you use a different multichar resource (e.g. `qb-multicharacter`), the standard `playerLoaded` hooks already cover the flow - no extra provider needed.
{% endhint %}

### qs\_multicharacter

The provider at `modules/bridge/providers/qs_multicharacter/` hooks `characterSpawned` and `multicharacter:endSpawn` events. It waits for cutscenes to finish and screen fade to clear before handing spawn control to `rcore_housing` — ensuring the UI is ready before the player teleports to their property.

{% hint style="warning" %}
**Built-in Provider**

This provider is handled by rcore\_housing and included in the base resource. No separate handler files are needed.
{% endhint %}

### um-multichar

The provider at `modules/bridge/providers/um-multichar/` tracks player loaded/unloaded state and provides an `AwaitZonesUntilCharacterSpawned()` helper. This ensures interaction zones and markers load only after the character is fully spawned, preventing race conditions.

No spawn or apartment handling - just timing synchronization. No configuration required.

{% hint style="warning" %}
**Built-in Provider**

This provider is handled by rcore\_housing and included in the base resource. No separate handler files are needed.
{% endhint %}

### vms\_multichar

The provider at `modules/bridge/providers/vms_multichar/` hooks `characterSpawned` and the custom `newPlayerApartmentAssigned` event. It waits for the NUI to unfocus and collision physics to load before requesting apartment spawn. If `vms_spawnselector` is running as a resource, rcore automatically defers spawn location selection to it instead of teleporting directly.

{% hint style="warning" %}
**Built-in Provider**

This provider is handled by rcore\_housing and included in the base resource. No separate handler files are needed. The spawn selector files are managed separately under [Spawn Selectors](/paid-resources/rcore_housing/integrations/spawnselect.md).
{% endhint %}

### wasabi\_multichar

The provider at `modules/bridge/providers/wasabi_multichar/` mirrors `vms_multichar`: hooks `characterSpawned`, waits for NUI and collision loading, then requests apartment spawn. If `wasabi_spawn` is running, rcore automatically defers to it for spawn location selection.

{% hint style="warning" %}
**Built-in Provider**

This provider is handled by rcore\_housing and included in the base resource. No separate handler files are needed. The spawn selector files are managed separately under [Spawn Selectors](/paid-resources/rcore_housing/integrations/spawnselect.md).
{% endhint %}

### zsx\_multicharacter

The provider at `modules/bridge/providers/zsx_multicharacter/` hooks ZSX's custom `ZSX_Multicharacter:Listener:MainFinishedWork` event and waits for screen fade to clear before requesting apartment spawn. ZSX handles character assignment itself - rcore only intercepts the spawn timing.

{% hint style="warning" %}
**Built-in Provider**

This provider is handled by rcore\_housing and included in the base resource. No separate handler files are needed.
{% endhint %}

### ZSX\_Multicharacter

Official integration with ZSX Multicharacter system via modified addon and character files.

{% hint style="info" %}
**Official ZSX\_Multicharacter Integration Coming**

This handler will be included out of the box in an upcoming ZSX\_Multicharacter update. The integration has already been submitted to the ZSX team for inclusion in their official release.
{% endhint %}

#### Setup

1. Download the replacement files below
2. Merge into your ZSX\_Multicharacter resource:
   * `ZSX_Multicharacter/server/functions/addon.lua` (replaces existing)
   * `ZSX_Multicharacter/server/functions/characters.lua` (replaces existing)

#### Download Handlers

{% file src="/files/9IcU15vxMmIk5kM0xArB" %}
zsx\_multicharacter\_addon.lua
{% endfile %}

{% file src="/files/8D2QN7TZvpE1AusmiuZo" %}
zsx\_multicharacter\_characters.lua
{% endfile %}

#### Features

* Automatically assign starter apartment to new characters
* List owned properties on character select screen
* Skip duplicate starter apartment flows for returning players
* Prevent duplicate apartment creation on character creation
