Garage
A step-by-step installation guide, common issues and solutions, code snippets, error codes, config previews, locales previews, SQL previews, and changelogs—all in one easily accessible place.
This resource can be purchased as part of a bundle for a discount here.
Translate
INSTALLATION GUIDE
Installation video
Step 1 - Download
Step 2 - Fxmanifest
Step 3 - Configure Resource
Step 4 - SQL Database
Step 5 - Configure Key Binds
Step 6 - Install Dependencies
cd_garageshell
cd_garage/dependancies
REQUIRED for the inside garage shell.
cd_easytime
OPTIONAL is used by default for syncing the time inside the garage shell but can be replaced.
cd_keymaster
OPTIONAL is used by default for vehicle lockpicking if enabled but can be replaced/removed.
Step 7 - Vehicle Keys

Step 8 - Vehicle Plate Format
PLEASE READ CAREFULLY!
You must complete this step correctly. You must read the information below and confirm your server's plate format.
Please read all 3 options below carefully before confirming which one you use.
Please note that you NEED to use the plate format your server already uses; changing them just because you like the benefits can cause script-breaking issues.
What is vehicle plate formats?Your vehicle shop/car dealer is the script that usually decides what plate format owned vehicles will use on your server. So you need to configure the
Config.PlateFormats
in the [configs/config.lua] file to what plate format your server uses. We have added compatibility with all 3 known plate formats.
Short ExplanationBy default, every vehicle's plate in FiveM is 8 characters long. So for example if your vehicle shop forces the plate to be 4 characters long, when you use the FiveM native to get a vehicle's plate
GetVehicleNumberPlateText(vehicle)
, this will return a string that is 8 characters long even though the plate is 4 characters long on your vehicle in-game (ABCD); because FiveM will add whitespaces until the plate is 8 characters long including whitespaces.
What do you mean by "trimmed" plate format?
By "trimmed", we mean your vehicle shop removes all spaces and whitespaces from the default 8-character plate.
Example of what the "trimmed" plate looks like when using DEBUG PRINTS.

Example of what the "trimmed" plate looks like in the DATABASE.

Example of what the "trimmed" plate looks like IN-GAME.

Does your server use the "trimmed" vehicle plate format?
Then you need to set the Config.PlateFormats
in the config.lua
to 'trimmed'
.
COMMON ISSUES
Please check out our Troubleshooting Guide before contacting our support.
🔔 Folder Name Make sure the name of the folder is cd_garage
.
🔔 Encrypted Files Do not edit the encrypted files in any way.
Screen Flickering?
eg., if your screen is flickering while using cd_easytime.
✔️ This is due to you having multiple time/weather sync scripts running at the same time fighting each other eg., vSync or vMenu. Stop the other time/weather script that is causing this or stop cd_easytime and remove it from the dependencies in the fxmanifest.lua of cd_garage.
SQL Default Value?
eg., if you see an error similar to this example when inserting an SQL query into your database -
“BLOB/TEXT column 'adv_stats' can't have a default value”
.✔️ You can use “VARCHAR(256)” instead of “LONGTEXT” in the SQL query.
SQL Unknown Column?
eg., if you see an SQL error in the server console similar to this example -
ER_BAD_FIELD_ERROR: Unknown colum 'job_personalspawn' in 'where clause'
.✔️ You are missing one of the required database columns. The SQL file can be found in the "READ_ME_AFTER_PURCHASING" folder.
Is the impound Not Opening?
eg., if you see a thin line on screen where the impound UI should be and you see a client F8 print saying "toLowerCase".
cd_garage_jobvehicles
UPDATE owned_vehicles SET impound = 0, impound_data = '' WHERE impound > 0
'L' client-side F8 Error?
eg., if you see an error in the client-side F8 console similar to this example -
attempt to call a number value (field 'L')
- example.✔️ This is caused by your anti-cheat. The creator of the anti-cheat most likely has a line of code that you can to add to the [cd_garage/fxmanifest.lua]. This should whitelist this resource and fix the issue.
Fuel Not Saving Correctly?
eg., if your vehicles fuel is not saving when you store a vehicle or not applying when spawning a vehicle in the garage.
✔️ This is because the GetFuel() and SetFuel() functions in the [configs/client_customise_me.lua] resource has not been configured for your servers vehicle fuel resource.
RGB Colours Not Saving Correctly?
eg., if your vehicles RGB colours are not saving when you store a vehicle or not applying when spawning a vehicle in the garage.
✔️ This is because you have not made the changes to your frameworks GetVehicleProperties() and SetVehicleProperties() functions that your mechanic/customs resource requires you to do.
"ExitLocation" client-side F8 error?
eg., if you see an error in the client-side F8 console similar to this example -
attempt to call a nil value (field 'ExitLocation')
.✔️ This happens when you spam the button on the UI to spawn a vehicle too fast, it does not break anything and can be ignored.
ERROR CODES
If you encounter an error code not listed below, please open a support ticket in the Codesign Discord for assistance.
6458145 - #Step 4 was not completed correctly. The adv_stats
column is missing from the database.
468454 - #Step 4 was not completed correctly. The vehicles
table is missing from the database.
46584645 - #Step 4 was not completed correctly. The impound
and impound_data
columns are missing from the database.
5454 - #Step 4 was not completed correctly. The cd_garage_keys
table is missing from the database.
3122 - #Step 4 was not completed correctly. The cd_garage_privategarage
table is missing from the database.
1975 - The vehicle shown in the server side print hasn't been added to QBCore's shared vehicle table.
0985 - The hash for a vehicle in your QBCore shared vehicle table is formatted incorrectly. It’s currently a string, but it should use backticks instead of apostrophes.
5111 - This warning appears when Config.UseExploitProtection
is disabled. It likely means the model
variable in the vehicle/mods
column is missing for a player's vehicle. This could be caused by a faulty vehicle shop or, less commonly, a player using a cheat engine. To fix it, delete the vehicle or manually add the plate in the JSON file.
CHANGELOG
Files Changed
Not every update requires replacing the entire folder, as we understand it’s a hassle to redo configs for each update.
All Files: Delete the old
cd_garage
folder, download the latest version, reconfigure the configs folder, and restart your server.All Files Except config.lua: Follow the steps above, but first back up your existing
config.lua
file. After downloading, replace the newconfig.lua
with your backup.Specific Files: Simply copy and paste the specific updated files over the old ones, then restart your server.
Skipping Updates
If you’ve skipped previous updates, it’s best to update all files to ensure compatibility. For example, if you're on v4.0.1, skipped v4.0.2, and now want to update to v4.0.3, use the "All Files" method for safety.
13/09/2025
Files Changed:
IMPORTANT
You must have Config.AutoInsertSQL enabled when installing this update. It can be turned off after it has inserted the required data into your database (added 1 new column (
fakeplate
) intoowned_vehicles
/player_vehicles
).
Add
Fake plates are now persistent until removed by the player or police. This is compatible with our persistent vehicles also.
Added checks to prevent cars being duped by 2 players spawning them at the same time.
Quick menu now displays time left on impounded vehicles.
Fix
Fixed the job checks on job garages when using qb-target or ox_target.
Impound timer should now be properly synced across clients.
Keys UI now properly displays the fallback image in case it is missing.
Keys UI should now properly display searched vehicles.
Renamed certain image files to correct spawn names.
Last updated
Was this helpful?