How to Create a Custom Job in QBCore
· 8 min read

Jobs give players a reason to log in — a way to earn, progress and roleplay a role. QBCore makes adding jobs approachable once you know where the pieces live. Here's the overview.
Where jobs are defined
Core jobs live in QBCore's shared config (commonly qb-core/shared/jobs.lua). Each job defines its label, grades, ranks, pay and whether it's a whitelisted job. Adding a job starts with a new entry here.
1. Define the job and its grades
Give the job a unique key, a display label, and a set of grades from rookie to boss. Grades control pay and permissions, so plan a sensible progression.
2. Decide if it's whitelisted
Whitelisted jobs (police, EMS, mechanic) can only be assigned by an admin or boss, which keeps important roles controlled. Open jobs (taxi, delivery) anyone can take.
3. Add the gameplay loop
A job is only fun if it does something. Pair it with a job script or a duty/clock-in system, NPC interactions, and a payout. This is where most of your custom work goes — and if you'd rather buy a polished job loop than build one, our partner Glory Scripts has ready-made job resources.
4. Give the job its vehicles
Lock job vehicles behind the job grade in your garage script so only on-duty workers can pull them. Emergency roles especially need this — see our police vehicle guide.
Outfit your new jobs with the right rides: our police & EMS vehicles and utility vehicles cover the core service roles.


