Skip to main content
  • Instant digital delivery
  • Lifetime updates on selected products
  • Trusted by server owners
FiveMX
Shop
Full ServersBundlesNew releases
FiveMX

Start building your server today.

Curated FiveM resources, instant delivery, free starter mods, and practical guides in one calm marketplace.

Browse the shopsupport@fivemx.com

Shop

  • Shop
  • FiveM Mods
  • All Products
  • Free Mods
  • Best Scripts & Mods
  • FiveM Scripts

Frameworks

  • QBCore Scripts
  • ESX Scripts
  • QBox
  • Standalone

Community

  • Blog
  • Support
  • Creators
  • Affiliate

Legal

  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Digital Delivery
  • Cookie Policy
  • GDPR Compliance
  • DMCA
  • Imprint
  • Editorial Policy

Server Templates

  • QBCore Server Template
  • ESX Server Template
  • NoPixel Server Template
  • Server Packs
  • Free Server Templates
  • Tebex Alternative
© 2026 FiveMX. All rights reserved.·FiveMX is not affiliated with Rockstar Games, Take-Two Interactive, or CFX.re. All trademarks are property of their respective owners.
DiscordDocs
  1. Home
  2. Blog
  3. Tutorials & Guides
Table of Contents
Why Should You Reduce NPC Density?Server and Client PerformanceDesync and "Ghost Cars"Roleplay ImmersionThe Solution: Lua Native FunctionsThe Core Density FunctionsHow to Create the Density Control ScriptStep 1: Create the Folder StructureStep 2: Configure the fxmanifest.luaStep 3: Write the Client Script (client.lua)Complete Eradication (Zero NPCs)Advanced Tip: Dynamic DensityRecommended Density Presets by Server Type

How to Reduce NPC Density in FiveM: Complete Guide

Published on March 12, 2024·by Lars Miller(Founder & Lead Editor)·Credentials·4 min read·Updated on May 18, 2026
Tutorials & Guideshow to reduce npc density

0.2 density

Safe RP baseline

A practical starting point for busy RP servers that still want some ambient traffic.

0.0-0.1 density

High-population fallback

Useful once player activity is high enough that AI traffic mostly causes desync and clutter.

Per frame

Update cadence

These natives must run every frame, otherwise GTA V starts repopulating the world immediately.

Grand Theft Auto V was designed as a single-player game populated by thousands of AI-controlled pedestrians and vehicles.

Share
How to Reduce NPC Density in FiveM: Complete Guide
How to Reduce NPC Density in FiveM: Complete Guide

Grand Theft Auto V was designed as a single-player game populated by thousands of AI-controlled pedestrians and vehicles. While this creates a vibrant, living world in story mode, it can cause severe performance and synchronization issues in a multiplayer FiveM environment.

Whether you are running a 100+ player roleplay server or a high-speed racing server, learning how to reduce or completely eliminate NPC density is a important step in .

2026 update: This guide still uses the current Cfx.re native approach: density multipliers are client-side, frame-based calls. The important part is not the exact folder name, but making sure one resource owns these calls consistently and starts after any framework or utility resource that might also touch ambient traffic.

Why Should You Reduce NPC Density?

Reducing NPC Density in FiveM for Better Performance

Before diving into the code, you should understand why almost every major server alters the default AI density.

Server and Client Performance

Every NPC (Non-Player Character) requires CPU power to calculate pathfinding, AI behavior, and physics. When you multiply this by 50+ players scattered across Los Santos, the server and the players' clients struggle to keep up. Reducing NPC density is one of the fastest ways to .

Desync and "Ghost Cars"

If you have ever driven down the highway at 150mph and crashed into an invisible car, you have experienced desync. High NPC vehicle density overwhelms the network state, meaning player A sees a car that player B does not. Less AI means less data to synchronize.

Roleplay Immersion

Frequently Asked Questions

How to Create the Density Control Script?

We will create a lightweight, standalone resource to handle this so it does not interfere with your other scripts. 1. Navigate to your server's resources folder. 2. Create a new folder named traffic_control.

What is Reduce NPC Density in FiveM?

Grand Theft Auto V was designed as a single-player game populated by thousands of AI-controlled pedestrians and vehicles. While this creates a vibrant, living world in story mode, it can cause severe performance and synchronization issues in a multiplayer FiveM environment.

What density value should I start with on a roleplay server?

For most roleplay servers, 0.2 is the safest first test because it removes most unnecessary traffic while keeping enough ambient life for quieter districts. From there, move lower only if you still see desync or unnecessary CPU load.

Can reducing NPC density break ESX or QBCore resources?

No, not by itself. Density control only changes ambient world population. Problems usually come from start order conflicts or another resource overwriting the same native calls each frame.

Table of Contents

Why Should You Reduce NPC Density?Server and Client PerformanceDesync and "Ghost Cars"Roleplay ImmersionThe Solution: Lua Native FunctionsThe Core Density FunctionsHow to Create the Density Control ScriptStep 1: Create the Folder StructureStep 2: Configure the fxmanifest.luaStep 3: Write the Client Script (client.lua)Complete Eradication (Zero NPCs)Advanced Tip: Dynamic DensityRecommended Density Presets by Server Type

More on This Topic

Turn framework research into a launch-ready script stack

Use this guide to narrow the framework decision, then move into the core commercial hubs for verified scripts, curated bundles, and a faster server launch path.

Framework hub

Move into the QBCore landing page to compare verified scripts, framework fit, and install-ready products built for modern FiveM servers.

Open QBCore hub

Framework hub

Use the ESX landing page to compare framework-specific resources, launch guidance, and premium products that fit ESX-first servers.

Open ESX hub

Premium catalog

Move from research into the main shop to compare real products, framework labels, screenshots, and production-ready quality signals.

Open premium shop

Disclosure: Some links below are affiliate links to FiveMX products. We may earn a commission at no extra cost to you.

Premium Scripts You Might Like

Free Scripts You Might Like

Related Articles

This guide aims to introduce readers to LUA scripting within the context of FiveM, a popular modification framework for GTA V. We will cover the essentials of L

August 29, 2024

Use FiveM resmon to find slow resources, read CPU and memory usage, compare scripts, and optimize your server without guessing.

October 9, 2024

Learn how to optimize FiveM server loading times by managing resources, using efficient mods, and choosing the right server host to eliminate annoying delays.

September 3, 2024

In serious RP environments powered by FiveM Frameworks, players are relied upon to populate the world. Having random AI walk into active hostage negotiations or AI cars ramming into pulled-over vehicles breaks immersion instantly.

The Solution: Lua Native Functions

To control NPC density, we use specific native functions provided by Cfx.re. Because these functions must run every single game frame to override the base game's engine, they are placed inside a client-side Citizen.CreateThread loop.

The Core Density Functions

There are five primary natives you need to know:

  1. SetVehicleDensityMultiplierThisFrame(multiplier) - Controls moving traffic.
  2. SetPedDensityMultiplierThisFrame(multiplier) - Controls walking pedestrians.
  3. SetRandomVehicleDensityMultiplierThisFrame(multiplier) - Controls parked/random cars.
  4. SetParkedVehicleDensityMultiplierThisFrame(multiplier) - Controls static parked cars in lots.
  5. SetScenarioPedDensityMultiplierThisFrame(multiplier, multiplier) - Controls NPCs doing activities (smoking, drinking coffee, sitting).

The multiplier is a float value between 0.0 (completely disabled) and 1.0 (default GTA V density).

How to Create the Density Control Script

We will create a lightweight, standalone resource to handle this so it does not interfere with your other scripts.

Step 1: Create the Folder Structure

  1. Navigate to your server's resources folder.
  2. Create a new folder named traffic_control.
  3. Inside traffic_control, create two files: fxmanifest.lua and client.lua.

Step 2: Configure the fxmanifest.lua

Open fxmanifest.lua and define the resource. This tells FiveM to load your client script.

fx_version 'cerulean'
game 'gta5'

author 'FiveMX'
description 'Controls NPC and Traffic Density'
version '1.0.0'

client_script 'client.lua'

Step 3: Write the Client Script (client.lua)

Open client.lua and insert the following code. This example reduces all traffic and pedestrians to 20% of their normal volume, which is the "sweet spot" for active RP servers.

-- Set the desired density multiplier (0.0 to 1.0)
local densityMultiplier = 0.2 

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(0) -- Must run every frame
        
        -- Apply the multipliers
        SetVehicleDensityMultiplierThisFrame(densityMultiplier)
        SetPedDensityMultiplierThisFrame(densityMultiplier)
        SetRandomVehicleDensityMultiplierThisFrame(densityMultiplier)
        SetParkedVehicleDensityMultiplierThisFrame(densityMultiplier)
        SetScenarioPedDensityMultiplierThisFrame(densityMultiplier, densityMultiplier)
        
        -- Optional: Disable AI emergency services
        -- This prevents AI cops/medics from responding to player crimes
        local playerPed = GetPlayerPed(-1)
        local pos = GetEntityCoords(playerPed) 
        ClearAreaOfCops(pos.x, pos.y, pos.z, 400.0)
    end
end)

Complete Eradication (Zero NPCs)

If you are running a drift server or a pure PvP arena, you likely want zero AI. Simply change local densityMultiplier = 0.2 to 0.0.

You may also want to add garbage cleanup to remove broken AI vehicles:

-- Add inside the while loop if multiplier is 0.0
SetGarbageTrucks(false)
SetRandomBoats(false)

Advanced Tip: Dynamic Density

Running a zero-wait thread (Citizen.Wait(0)) is standard for these frame-based natives, but if you want to optimize even further, you can adjust the density based on the current player count.

Many advanced servers use server-side callbacks to check how many players are online:

  • 0–30 Players: 0.8 Density (Make the city feel alive when it's quiet).
  • 30–80 Players: 0.4 Density (Balance performance).
  • 80+ Players: 0.0 Density (Players populate the city entirely, max performance).

Recommended Density Presets by Server Type

The biggest mistake is treating every server the same. A whitelisted city with 90 active civilians should not use the same density profile as a casual public freeroam server.

| Server type | Vehicle density | Ped density | Scenario peds | Why | |

Launch faster

Compare curated bundles

Bundles shorten the path from planning to launch by grouping the highest-leverage scripts into a cleaner commercial starting point.

View bundles
optimizing your FiveM server performance
boost FPS in FiveM
Previous Article

Best FiveM Settings to Boost FPS

Next Article

How to Install FiveM Addon Cars

How to Install ReShade on FiveM: Ultimate 2026 Graphics Guide
FiveM: How To Play (Full Guide)
FiveM: How to Remove the Crosshair (Players & Server ...
FiveM: How to Fix Texture Loss
How to Make a FiveM Server for Free in 2026 — Honest Guide
Browse QBCore-ready scripts
Review the ESX script path
Browse premium FiveM scripts
Advanced FPS Booster

Advanced FPS Booster

$5.49
Tunnel & Paleto Bay

Tunnel & Paleto Bay

$15.49
Kodak’s Hood Golden Acres

Kodak’s Hood Golden Acres

$8.49
Hampset RPC Police Station

Hampset RPC Police Station

$33.99
Gameconfig for Legacy & Enhanced

Gameconfig for Legacy & Enhanced

8,243,364 downloads
PC Trainer V

PC Trainer V

1,272,946 downloads
LemonUI: Open Source UI Library

LemonUI: Open Source UI Library

1,138,096 downloads
NFS gauge - RPM Gear Speedometer & Timer

NFS gauge - RPM Gear Speedometer & Timer

1,058,515 downloads
Introduction to LUA-Scripting for FiveM
Introduction to LUA-Scripting for FiveM
How to Use Resmon in FiveM (To Optimize Resources)
How to Use Resmon in FiveM (To Optimize Resources)
Eliminate Annoying Delays: Optimize FiveM Server Loading ...
Eliminate Annoying Delays: Optimize FiveM Server Loading ...

No time to configure everything yourself?

Start with a pre-built, tested FiveM server pack. Framework-optimized, all scripts pre-installed.

Super ESX Server
esxstandalone

Super ESX Server

The Super ESX Server is one of the best FiveM server templates - over 1.000 purchases! Want to know why we call it our Super Server? Check out our video to find out some of the basics details of the world. Update 10 is included, make sure to install v7 first and then use content of v10 yo

$228.32
ESX Server Base (by RibSosay)
esxstandalone

ESX Server Base (by RibSosay)

Prebuilt FiveM server with ESX framework GUARANTEE : We offer a guarantee ensuring compatibility with your setup.

$53.99
View all server packs