Download Script
To download the assets needed for this script, you must access the official Cfx.re portal, where all assets purchased through Tebex are managed.
Access the Granted Assets Page
Open the Cfx.re granted assets page: https://portal.cfx.re/assets/granted-assets.
This page contains all assets linked to your Cfx.re purchases.
Log In with Your Cfx.re Account
Sign in using the same Cfx.re account you used when purchasing the asset.
If you use a different account, the assets will not appear.
Download the Housing Assets
In the granted assets list, locate and download:
3D SoundThese two packages are required to install the full housing system.
These files include the models, materials, and visual resources required for the proper operation of the housing system.
Remove Other Scripts
interact-sound is fully supported and already provided by the system.
xsound is fully supported for server-side usage. Client-side usage with local audio files will work without issues. However, if your client-side code uses YouTube links, you may encounter the error “do not spam prepare export”. To resolve this, you must review how the prepare export is being used and adapt that logic to your xsound implementation.Move all sound files that you previously used with xsound or interact-sound into the qs-3dsound/ui/sounds directory. This script loads and manages audio directly from that location, so placing your sounds there ensures they are detected and played correctly.
Before starting the server, you must completely remove xsound and interact-sound from your resources. Keeping them installed can cause conflicts, duplicated audio, or unexpected errors, since qs-3dsound fully replaces their functionality.
Once the sounds are in place and the old scripts are removed, simply start your server and the system will work automatically. Do not rename the resource to xsound or interact-sound; it must remain named qs-3dsound. There is no need to change export names or internal references, as everything is already configured to function correctly out of the box.
Place the API (Important)
For qs-3dsound to work correctly, you must edit the file qs-3dsound/shared/config.lua and add your YouTube API key inside the Config.YoutubeKey value.
This step is mandatory. Without a valid YouTube API key, the system will not be able to fetch or play audio properly, and 3D sounds may not work as expected in-game.
To obtain your YouTube API key, follow the steps shown in the video below. The video explains the entire process clearly, from creating the project in Google Cloud to generating the API key.
Watch the tutorial here:
Server.cfg Placement
This script is standalone and does not require ESX or QBCore to function. However, for best stability and integration, it is recommended to start it above most other scripts in your server.cfg. Loading it early ensures that its systems, exports, and events are available to all dependent or integrated resources, reducing the risk of conflicts or initialization issues.
Starting it near the top of your resource list helps guarantee proper synchronization and predictable behavior across the server, especially when other scripts rely on its functionality.
