Back to Blog
Tutorial 14 min read February 18, 2026

FiveM Housing Script Guide: Best Options for QBCore & ESX (2026)

Complete guide to housing scripts in FiveM — what features to look for, popular options including Brutal Housing, how property systems work technically, furniture placement, shell interiors, and server performance considerations.

fivem housing script brutal housing script fivem housing script fivem fivem house script popular easy to use housing scripts fivem furniture script fivem fivem housing scripts

Why Housing Scripts Matter for FiveM Servers

Housing is one of the core pillars of any roleplay server. Players want a home base — a place to store items, change clothes, park vehicles, and invite friends. Without a proper housing system, your server feels like a temporary playground rather than a living world.

In 2026, players expect housing scripts to go far beyond a simple door lock and stash. Modern FiveM housing scripts include furniture placement, customizable interiors, shared ownership, rental systems, and real estate markets.


How FiveM Housing Scripts Work

Shell-Based Interiors

The most popular approach in modern FiveM housing uses shell interiors (also called instanced interiors or IPL shells). Here is how it works:

  1. A player enters a property by interacting with a door
  2. The script teleports the player to a shell interior — a custom 3D model placed at a high coordinate (usually Y > 5000) to avoid collision with the main map
  3. Each property uses a unique instance of a shell, or multiple properties share shell models at different coordinates
  4. When the player exits, they teleport back to the door location

This approach is far more efficient than using GTA V's built-in interiors because:

  • Shells are lightweight 3D models with much lower polygon counts
  • They can be designed specifically for FiveM (no unused rooms or geometry)
  • Multiple unique floor plans can be offered (studio, apartment, penthouse, house)
  • They avoid conflicts with other scripts that modify GTA interiors

Property Data Storage

Housing scripts store property information in your MySQL database. Typical table structure includes:

ColumnPurpose
property_idUnique identifier
ownerPlayer identifier (license, citizenid, etc.)
coordsDoor location on the map
interiorWhich shell model to use
furnitureJSON blob storing placed furniture items and positions
stashReference to the property's storage
keysList of players with access
lockedWhether the door is locked
pricePurchase or rental price

Key Features to Look For

When evaluating a housing script for your server, these features separate basic scripts from production-ready ones:

Furniture Placement System

The most requested feature in modern housing scripts. A furniture script lets players:

  • Browse a catalog of furniture items (couches, tables, beds, TVs, kitchen items)
  • Place items freely in 3D space with rotation and height controls
  • Save placements per property
  • Remove or reposition items later

The technical challenge is rendering custom props at saved positions and ensuring they persist across server restarts. Quality scripts store furniture data as JSON arrays in the database and stream the props only when a player is inside the shell.

Multiple Shell Types

A good housing script offers variety. Players should be able to choose from:

  • Studio apartments — Small, affordable starter homes
  • Standard apartments — Mid-range with bedroom, kitchen, bathroom
  • Houses — Larger floor plans with multiple rooms
  • Penthouses — Premium properties with balconies and luxury features
  • Trailer/mobile homes — Budget option for new players

Each shell type should have a unique 3D model. Many scripts ship with 5-10 shell models, and some support importing custom shells from sites like GTA5-Mods.

Property Market System

Advanced housing scripts include a real estate market:

  • For-sale listings — Properties appear on a map or in a menu
  • Player-to-player sales — Owners can list their property for other players to buy
  • Rental system — Monthly rent payments automatically deducted
  • Eviction — Non-payment results in losing access
  • Price scaling — Location-based pricing (beachfront costs more than rural)

Brutal Housing

Brutal Housing is one of the most searched housing scripts in the FiveM community (and for good reason). It is known for:

  • Ease of use — Clean UI for property management and furniture placement
  • Shell variety — Ships with multiple interior models
  • Framework support — Works with ESX, QBCore, and often QBOX
  • Furniture system — Built-in placement with a catalog of props
  • Performance — Optimized to handle many properties without impacting server resmon

Brutal Housing is frequently recommended on FiveM community forums as a "popular easy to use housing script" for servers that want a complete solution without heavy configuration.

Framework-Default Housing

Both ESX and QBCore have basic property scripts:

  • esx_property — Basic door lock and stash system for ESX
  • qb-houses / qb-apartments — QBCore's built-in housing with basic furniture

These work but are limited compared to dedicated housing scripts. They typically lack furniture placement, shell variety, and real estate features.

Custom / Premium Housing

Premium housing scripts from stores like Alone Scripts and others typically offer:

  • Everything from Brutal Housing and more
  • In-game admin panels for placing properties
  • Integration with garage scripts for home parking
  • Shared ownership and key management
  • Custom shell support

Installation Guide

Step 1: Prerequisites

Before installing a housing script, ensure your server has:

  • A supported framework (ESX Legacy, QBCore, or QBOX)
  • MySQL database (oxmysql recommended)
  • A target system (qb-target or ox_target) — most furniture systems require target interaction
  • Streaming capabilities for shell models (usually included with the script)

Step 2: Installation

  1. Extract the housing resource to your resources folder
  2. Import the SQL file into your database
  3. Add the ensure line to server.cfg — after your framework and database resources
  4. Configure config.lua — set framework type (or enable auto-detection), define default property prices, configure furniture catalog, and set maximum properties per player

Step 3: Adding Properties

Depending on the script:

  • Config-based — Add property coordinates to the config file manually
  • In-game admin — Use an admin command to register new property doors at your current location (much easier)

Step 4: Shell Setup

Shells are usually included as .ydr files streamed via a fxmanifest.lua. Ensure the shell models load correctly by checking for any streaming errors in the F8 console.


Performance Considerations

Housing scripts can be performance-sensitive because they involve:

  • Prop streaming — Furniture items are custom props that need to be streamed
  • Database queries — Loading property data, furniture layouts, and stash contents
  • Zone detection — Checking if players are near a property door

Tips to keep performance high:

  1. Limit furniture items per property — Cap at 50-100 items to prevent excessive prop streaming
  2. Use server-side caching — Load property data once and cache it in memory, not on every door interaction
  3. Lazy-load shells — Only stream the shell model when a player enters the property
  4. Optimize SQL — Index your property table by owner and coords for fast lookups
  5. Avoid tick loops for doors — Use target interactions (qb-target / ox_target) instead of DrawMarker loops

A well-optimized housing script should run at 0.00-0.02ms on resmon when idle and briefly spike to 0.1-0.3ms during property entry/exit.


House Robbery Integration

Many servers pair their housing script with a house robbery script (another popular search). This allows criminal players to:

  • Lockpick property doors
  • Search the house for lootable items
  • Trigger alerts to police players
  • Create risk/reward gameplay

If you plan to add house robberies, choose a housing script that exposes an API for checking property ownership and lock state.


Recommendation for 2026

For new servers, we recommend starting with a premium housing script that includes:

  • Built-in furniture placement
  • At least 5 shell models
  • Auto framework detection (ESX / QBCore / QBOX)
  • In-game admin property placement
  • Database-backed persistence

This gives your players a complete housing experience from day one without needing to cobble together multiple scripts.

→ Browse All Scripts | → Server Performance Optimization

Ready to Transform Your Server?

FiveM Job Creator eliminates every problem discussed in this article. 0.00ms resmon. No-code configuration. ESX & QBCore native.

Get Job Creator on Tebex — €29.99