Skip to main content

Asset download

To find the asset, you must have made the purchase using your own keymaster account. Otherwise, you can use the transfer system to move the asset to a different keymaster account.
Once the purchase is made on our official website, you will receive your asset directly in your cfx portal in your own panel.

Dependencies

Install these before Awoken Apartments:
1

Drop in the resource

Extract into resources/[awoken]/awoken_apartments.
The folder name must be exactly awoken_apartments (with underscore). The resource refuses to start otherwise.
2

Add to server.cfg

Make sure oxmysql and ox_lib load before awoken_apartments.
3

Disable conflicting resources

If you’re using Awoken Apartments as your housing system, stop these:
  • qb-apartments
  • qbx_properties (optional - keep only if you also want owned houses)
Also set startingApartment = false in qbx_core/config/client.lua to stop qbx_properties from auto-creating GTAO apartments for new characters.
4

Configure the framework

Open shared/config.lua, section 1:
Defaults match a stock qbox + ox_inventory + ox_target server. Adjust for your stack.
5

Restart server

The awoken_apartment_billing table is created automatically on first start. Players are auto-assigned a Tier 1 room on connect.
6

Verify in-game

  1. Run /aptmanager - admin panel should open
  2. Walk near a configured apartment door - target prompt should appear
  3. Enter your apartment - fade + teleport

Database

Tables are created automatically on resource start. No SQL setup required.
The only table created by the core resource:
If Config.Inventory = 'esx', the apartment stash also reads/writes to addon_inventory and addon_inventory_items (created by esx_addoninventory).

Apartments data

Apartments and motel groups are stored as JSON in:
  • data/apartments.json
  • data/motel_groups.json
These files are auto-managed by the in-game admin panel (/aptmanager). Don’t edit them manually unless the panel is unavailable.

Spawn selector coexistence

If you have a spawn selector installed (qbx_spawn, qb-spawn, um-spawn, vms_spawnselector, etc.), Awoken auto-detects it and steps back so the selector handles new-character spawn choice instead of force-teleporting them into their apartment. Configure in shared/config.lua section 5b:

Detection only (default - works out of the box)

With deferToSelector = true, new characters go through your spawn selector normally. Awoken still assigns them a Tier 1 room in the background - they just won’t auto-teleport into it.

Apartment as a spawn choice (optional - requires a patch)

To make your apartment appear as a SPAWN OPTION in the selector’s UI, the spawn selector needs to call awoken_apartments:getMySpawnInfo. Patches for each:
To add the player’s apartment as a choice in the qbx_spawn heist-map UI, patch qbx_spawn/client/main.lua:
1

Add the awoken spawn entry

Inside RegisterNetEvent('qb-spawn:client:setupSpawns', ...), after the properties loop:
2

Handle the new field in inputHandler()

Replace the existing confirm if/elseif with:
Use teleportInside directly here, not animateEnter. teleportInside handles the screen fade, the routing-bucket instance and interior placement on its own. animateEnter gates the teleport behind a key-fob progress bar, which gets interrupted by qbx_spawn’s spawn fade/camera teardown - so the teleport never fires and the player is left standing at the door.
3

Disable the force-spawn

In shared/config.lua:
qbx_spawn now handles the spawn choice.

Optional - MDT / dispatch lookup

Two callbacks for MDT scripts to look up resident addresses:
For server-to-server access, see Exports.