Blog
Tutorial
9 min read
April 16, 2026

FiveM MLO Optimization: Hit 60+ FPS in Custom Interiors

Occlusion portals, LOD configuration and entity draw limits — a technical breakdown of every lever you can pull to keep frame rates high inside custom-built FiveM interiors.

A poorly built MLO can drop frame rates by 30–40 FPS inside. The frustrating part is that these drops often appear only with players present, not during solo testing. Most MLO performance problems come from three sources — and each one has a clear fix.

Why Custom Interiors Destroy FPS

FiveM renders MLO interiors using the same engine as GTA V's native interiors, which means occlusion culling, level-of-detail (LOD) switching and portal-based visibility all apply. When an MLO ships without proper occlusion data, the engine renders every room simultaneously instead of only what the player can see — spiking draw calls from ~200 to 1,500+ per frame.

The three root causes, in order of frequency:

  • Missing or misconfigured occlusion portals between rooms
  • No LOD entities — every prop renders at full detail regardless of distance
  • Too many individual streaming entities instead of merged static meshes

Occlusion Portals

Portals are invisible planes placed on every opening (doorway, window, archway) that tell the renderer: only draw the next room when the player can see through this opening. Without them, the renderer has no visibility information and falls back to rendering everything.

To check an MLO's portal configuration, open it in CodeWalker and enable View → Show Portals. Every interior opening should show a coloured portal plane. Missing portals appear as dark gaps with no overlay.

Adding portals to an existing MLO requires the source files (the original .ydr or editing environment). If you purchased an MLO without portals, contact the author — this is a fundamental quality issue, not a configuration option.

LOD Configuration

Every interior entity should have at minimum two LOD levels:

  • High (0–40m): full polygon detail
  • Medium (40–100m): reduced polygon count, simplified normals

Props without LODs render at full detail at all distances. In a large interior with 400 decorative props, this multiplies draw calls by the number of visible props regardless of how far away the player is.

Entity Streaming and the 300-Entity Limit

FiveM has a default client-side entity streaming limit of 300 active entities. Large MLOs with many individually placed props can approach or exceed this. Two fixes:

  1. Increase the limit in server.cfg:
    # Use carefully — higher values increase client memory usage
    setr sv_maxEntityStreaming 500
  2. Better: merge static props into combined mesh entities during the build phase. A bank lobby with 200 chairs and desks becomes 3 merged entities instead of 200 individual streaming objects.

Benchmarking Your MLO

Use the FiveM profiler to measure render thread time inside the interior:

-- In F8 console while standing inside the interior:
profiler record 60
profiler save

Open the saved profile and check the DrawScene thread time. Under 12ms = acceptable. 12–20ms = investigate draw call count. Over 20ms = occlusion is not working and every room is rendering simultaneously.

The Bank MLO — Downtown Interior ships with full portal occlusion, merged static meshes and documented LOD levels — benchmarked at 60+ FPS on mid-range hardware with 64 players on the server.

FAQ

What is the main point of FiveM MLO Optimization: Hit 60+ FPS in Custom Interiors?

Occlusion portals, LOD configuration and entity draw limits — a technical breakdown of every lever you can pull to keep frame rates high inside custom-built FiveM interiors.

Is this guide updated for FiveM in 2026?

Yes. The article is written for current FiveM server owners in 2026, with recommendations focused on txAdmin, modern frameworks, resource performance, database reliability, and stable RP server operation.

Does this apply to ESX, QBCore, and Qbox servers?

Most guidance applies to modern FiveM servers using ESX, QBCore, or Qbox. When a recommendation is framework-specific, the article calls that out directly.

What should I do after reading this guide?

After reading, test the setup on a staging server first. If you want a ready-made option, compare it against Bank MLO — Downtown Interior and make sure it fits your framework, database, and performance requirements.

§
FIVE // MOTIVE
Tutorial · 9 min read · Published April 16, 2026
Featured in this guide
Bank MLO — Downtown FiveM Interior

High-quality downtown bank MLO for FiveM. Optimized interior and exterior for ESX, QBCore and any bank robbery script.