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

# Config

Edit `rcore_housing/config.lua` for global settings that apply to the whole script.

## 🛠️ Debug

```lua
Config.Debug = false
Config.UseDebugLevels = false
Config.DebugLevels = { "DEBUG", "DB", "FRONTEND", "BUSINESS", "INTERACTIONS" }
Config.EnhancedDebug = true
Config.ShowBootInformationOnInit = true
```

| Option                      | Description                                                                                                                                                                    |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Debug`                     | Master debug toggle - silences all debug output when `false`.                                                                                                                  |
| `UseDebugLevels`            | When `true`, only channels listed in `DebugLevels` are printed.                                                                                                                |
| `DebugLevels`               | Channel filter. Available channels: `INFO`, `SUCCESS`, `WARN`, `DEBUG`, `SECURITY`, `BRIDGE`, `MENU`, `FRONTEND`, `GRID`, `INTERACTIONS`, `DIRT`, `NETWORK`, `DB`, `BUSINESS`. |
| `EnhancedDebug`             | Append file:line info to every debug line.                                                                                                                                     |
| `ShowBootInformationOnInit` | Print boot diagnostics (item checks, bridge detections) even when `Debug` is off.                                                                                              |

## 💬 Locale

```lua
Config.Locale = 'en'
```

Loads `data/locales/[locale].lua`. Only `en.lua` is included by default - see the [locale page](/paid-resources/rcore_housing/configuration/locale.md) for adding more.

## 🔎 Auto Detection

These bridges are detected automatically by default:

| Option                  | Default       |
| ----------------------- | ------------- |
| `Config.Framework`      | `AUTO_DETECT` |
| `Config.Database`       | `AUTO_DETECT` |
| `Config.Inventory`      | `AUTO_DETECT` |
| `Config.Garages`        | `AUTO_DETECT` |
| `Config.Weather`        | `AUTO_DETECT` |
| `Config.Dispatch`       | `AUTO_DETECT` |
| `Config.Phone`          | `AUTO_DETECT` |
| `Config.Society`        | `AUTO_DETECT` |
| `Config.Clothes`        | `AUTO_DETECT` |
| `Config.InteractSystem` | `AUTO_DETECT` |

Set them manually only if auto detection picks the wrong resource. See [integrations](/paid-resources/rcore_housing/integrations.md) for the full list of supported values.

{% hint style="info" %}
`Config.GameBuild` is sourced from `sv_enforceGameBuild` and defaults to `1604` when unset.
{% endhint %}

## ⌨️ Commands

```lua
Config.Commands = {
    PropertyManager   = 'housing',
    PropertyEditor    = 'peditor',
    PropertyFurniture = 'pfurniture',
    Business          = 'realestate',
    Marketplace       = 'marketplace',
    DebugConsole      = 'housing_console',
}
```

| Option              | Default           | Description                             |
| ------------------- | ----------------- | --------------------------------------- |
| `PropertyManager`   | `housing`         | Opens the admin property manager.       |
| `PropertyEditor`    | `peditor`         | Opens the in-property furniture editor. |
| `PropertyFurniture` | `pfurniture`      | Opens furniture storage.                |
| `Business`          | `realestate`      | Opens the real estate agency dashboard. |
| `Marketplace`       | `marketplace`     | Opens the property marketplace.         |
| `DebugConsole`      | `housing_console` | Opens the three-lane debug console.     |

## 🧪 Debug Console

```lua
Config.DebugFrontend = false

Config.DebugConsole = {
    Enabled = false,
    AllowedIdentifiers = {},
    FlushIntervalMs = 100,
    BatchSize = 25,
    RingBufferSize = 2000,
}
```

`DebugFrontend` toggles verbose React/NUI logging. `DebugConsole` controls the `/housing_console` UI - only players in `AllowedIdentifiers` or with ACE permission `housing.debug` can open it.

## 💰 Economy

```lua
Config.Economy = {
    Symbol    = '$',
    Format    = 'before',
    MoneyItem = 'money',
}
```

| Option      | Description                                      |
| ----------- | ------------------------------------------------ |
| `Symbol`    | Currency symbol used everywhere in the UI.       |
| `Format`    | `before` renders `$100`, `after` renders `100$`. |
| `MoneyItem` | Cash item name for inventory-based transactions. |

## 👁️ Preview

```lua
Config.Preview = {
    Enable  = true,
    Timeout = 60,
}
```

`Timeout` is in seconds. Set to `0` to disable the automatic teleport-out.

## 📍 Zones

```lua
Config.Zones = {
    InteractHelp = INTERACT_HELP.NUI,
    TargetDebug  = false,
    Marker = {
        Type        = 1,
        Scale       = vec3(1.0, 1.0, 1.0),
        Color       = { r = 255, g = 0, b = 0, a = 30 },
        BobUpAndDown = false,
        FaceCamera  = false,
        Rotate      = false,
    },
}
```

`InteractHelp` controls the keypress hint UI when no target resource is detected. `INTERACT_HELP.NUI` shows a styled hint; `INTERACT_HELP.NATIVE` uses the GTA native text helper.

## 🪑 Furniture

```lua
Config.Furniture = {
    Shop = {
        Locations = {
            { pos = vec4(2746.39, 3469.59, 55.66, -120.0), npcModel = 'a_m_m_business_01' },
        }
    },
    DeliveryFee               = 10,
    DeliveryTime              = 5,
    DeliverySystem            = FURNITURE_DELIVERY.REALISTIC,
    DeliveryObject            = 'prop_boxpile_01a',
    DeliveryObjectUnderPalette = 'prop_pallet_01a',
    DeliveryWallClearance     = 0.05,
}
```

| Option                  | Default            | Description                                                       |
| ----------------------- | ------------------ | ----------------------------------------------------------------- |
| `Shop.Locations`        | one location       | Furniture shop NPC spawn points.                                  |
| `DeliveryFee`           | `10`               | Flat fee added to every order.                                    |
| `DeliveryTime`          | `5`                | Minutes before delivery arrives (REALISTIC mode).                 |
| `DeliverySystem`        | `REALISTIC`        | `REALISTIC` waits the delivery time; `SIMPLE` is instant.         |
| `DeliveryObject`        | `prop_boxpile_01a` | Box prop spawned at the delivery zone.                            |
| `DeliveryWallClearance` | `0.05`             | Minimum metres kept between the pallet and a wall inside a shell. |

## 🏠 Starter Apartment

```lua
Config.StarterApartment = {
    Enabled               = false,
    AutoAssignOnFirstJoin = true,
    TeleportOnAssign      = true,
    NotifyPlayer          = true,
}
```

When enabled, the resource clones a starter template property and assigns it to first-time players. See [Starter Apartments](/paid-resources/rcore_housing/features/starter-apartments.md).

## 🪧 Sale Signs

```lua
Config.SaleSign = {
    Enable           = true,
    ShowAgentName    = true,
    ShowSoldSign     = false,
    SoldSignDuration = 30,
    RenderDistance   = 100.0,
    Colors = {
        ForSale      = '20763f',
        ForRent      = '2060a0',
        Sold         = 'a02020',
        BusinessSale = '20763f',
        BusinessRent = '1a5276',
    },
}
```

Colours are 6-character hex without `#`. See [Sale Signs](/paid-resources/rcore_housing/features/sale-signs.md).

## 🛠️ Property Creator

```lua
Config.PropertyCreator = {
    Key                       = nil,
    EnableForAllBusinessJobs  = true,
    AdminGroups = { god = true, admin = true },
    Permissions = {
        [PROPERTY_CREATOR_PERMISSIONS.PAGE_CREATE_PROPERTY]     = 0,
        [PROPERTY_CREATOR_PERMISSIONS.PROPERTY_CREATE]          = 0,
        [PROPERTY_CREATOR_PERMISSIONS.PROPERTY_CREATE_BUILDING] = 1,
        [PROPERTY_CREATOR_PERMISSIONS.PROPERTY_DELETE]          = 3,
        -- ...
    },
    JobOverrides = {},
    JobAccess    = {},
    Limits       = { MaxPropertyPrice = 999999999 },
}
```

Each `PROPERTY_CREATOR_PERMISSIONS.*` key maps to a minimum job grade. `nil` means **admin-only** (`AdminGroups`). See [Commands and Permissions](/paid-resources/rcore_housing/features/commands-and-permissions.md) for the full key table.

## 🧱 Interior Creator

```lua
Config.InteriorCreator = {
    Keys = {
        Place      = 191, -- ENTER
        Cancel     = 177, -- BACKSPACE
        CycleLeft  = 174, -- cursor LEFT
        CycleRight = 175, -- cursor RIGHT
        Confirm    = 47,  -- G
        ScrollUp   = 241,
        ScrollDown = 242,
        StepMod    = 36,  -- LCTRL
        Skip       = 74,  -- H
    },
}
```

These are FiveM native control IDs. See [Interior Creator](/paid-resources/rcore_housing/features/interior-creator.md) for the keybind workflow.

## 📷 Cameras

`Config.Cameras` is the allow-list of prop models that count as security cameras during placement. The default list contains \~25 props (`prop_cctv_cam_*`, `ch_prop_ch_cctv_cam_*`, `bkr_prop_biker_campbed_01`, etc.). Add custom camera models to this table.

## 🎒 Items

```lua
Config.Items = {
    PROPERTY_KEY  = 'property_key',
    LOCKPICK      = 'lockpick',
    BATTERING_RAM = 'battering_ram',
}
```

Override these names if your inventory uses different identifiers. See [inventory integration](/paid-resources/rcore_housing/integrations/inventory.md) for per-inventory item definitions.

## 🔎 Configuration preview

<details>

<summary>config.lua</summary>

```lua
Config = {}

Config.Debug = false
Config.UseDebugLevels = false
Config.DebugLevels = { "DEBUG", "DB", "FRONTEND", "BUSINESS", "INTERACTIONS" }
Config.EnhancedDebug = true
Config.ShowBootInformationOnInit = true

Config.Locale = 'en'

Config.Framework      = AUTO_DETECT
Config.Database       = AUTO_DETECT
Config.Inventory      = AUTO_DETECT
Config.Garages        = AUTO_DETECT
Config.Weather        = AUTO_DETECT
Config.Dispatch       = AUTO_DETECT
Config.Phone          = AUTO_DETECT
Config.Society        = AUTO_DETECT
Config.Clothes        = AUTO_DETECT
Config.InteractSystem = AUTO_DETECT
Config.GameBuild      = GetConvarInt('sv_enforceGameBuild', 1604)

Config.Commands = {
    PropertyManager   = 'housing',
    PropertyEditor    = 'peditor',
    PropertyFurniture = 'pfurniture',
    Business          = 'realestate',
    Marketplace       = 'marketplace',
    DebugConsole      = 'housing_console',
}

Config.Economy = { Symbol = '$', Format = 'before', MoneyItem = 'money' }
Config.Preview = { Enable = true, Timeout = 60 }

Config.SaleSign = {
    Enable           = true,
    ShowAgentName    = true,
    ShowSoldSign     = false,
    SoldSignDuration = 30,
    RenderDistance   = 100.0,
    Colors = {
        ForSale      = '20763f',
        ForRent      = '2060a0',
        Sold         = 'a02020',
        BusinessSale = '20763f',
        BusinessRent = '1a5276',
    },
}

Config.Items = {
    PROPERTY_KEY  = 'property_key',
    LOCKPICK      = 'lockpick',
    BATTERING_RAM = 'battering_ram',
}
```

</details>
