FiveM MLO Interiors: Full Installation Guide for 2026

MLO interiors are one of the most popular types of custom content for FiveM roleplay servers. They add detailed, streamed interior environments to locations that are either empty or inaccessible in the base GTA V map.
If you have been searching for how to get MLOs working on your FiveM server, here is a complete guide.
What Is an MLO
MLO stands for Map Loader Object. In the FiveM context, MLO refers to custom interiors that are streamed to players through FiveM's resource streaming system.
When a player enters an MLO-mapped location, FiveM streams the interior geometry to them in real time. This allows server owners to add custom police stations, hospitals, apartments, restaurants, and much more that feels seamlessly integrated into the GTA V world.
Finding MLOs
MLO resources are available from several sources:
- GitHub: Many free open-source MLOs are hosted on GitHub
- GTA5-Mods.com: A large library of single-player mods that can be adapted for FiveM
- Tebex stores: Developers sell premium quality MLOs as paid resources
- The FiveM forums and cfx.re forums: Community-shared resources
Always check the license for any MLO you install. Some are free for all use, others require attribution or have commercial restrictions.
Installing an MLO Resource
- Download the MLO resource folder (it will contain a
streamfolder with .ybn, .ydr, and .ymap files) - Upload the entire resource folder to your FiveM server's
resourcesdirectory - Add
ensure [resource-name]to yourserver.cfg - Restart the server
The resource name is whatever the folder is named, not the internal manifest name.
Common MLO Installation Problems
Interior not showing: Check that all .ymap files are present in the stream folder. Missing ymaps mean the world placement file is absent.
Interior visible but players fall through floor: This usually means the collision files (.ybn files) are missing from the stream folder.
FiveM error "couldn't load resource": Open the resource folder and check that a valid fxmanifest.lua or __resource.lua file is present and correctly references the streamed files.
Performance Impact of MLOs
Each MLO adds to the streaming data required for your server. A server with 50 MLOs will have noticeably higher streaming load than one with 5. Monitor your server resource usage after adding large MLO packs.
Space-Node FiveM hosting comes with fast NVMe storage that keeps resource streaming responsive even on servers with large content libraries. If your FiveM server is struggling with resource load times, storage speed is often the bottleneck, and our NVMe-equipped servers address this directly.
What an MLO is and what makes it work
MLO (Map Loaded Object) is a custom interior packaged as a YTYP / YMAP / YDR set. Unlike a regular map prop, MLOs replace existing GTA V interiors at specific coordinates, including collision, lights, and audio.
A working MLO ships these files:
*.ytyp(interior definitions)*.ymap(placement data)*.ydr/*.ydd(geometry/drawables)*.ytd(textures)- An
stream/folder containing them - A
__resource.luaorfxmanifest.lua
If any of those files are missing or have wrong casing, the interior loads as void.
Standard fxmanifest.lua
fx_version 'cerulean'
games { 'gta5' }
this_is_a_map 'yes'
data_file 'DLC_ITYP_REQUEST' 'stream/example_interior.ytyp'
files {
'stream/example_interior.ytyp'
}
this_is_a_map 'yes' and DLC_ITYP_REQUEST are required. Every "MLO doesn't load" ticket starts with these two lines.
Drop-in install steps
resources/
[maps]/
my_interior/
fxmanifest.lua
stream/
example_interior.ytyp
example_interior.ymap
example_interior.ydr
example_interior.ytd
Then in server.cfg:
ensure my_interior
Disabling stock interiors that conflict
local interiorsToDisable = {
[273601] = true, -- LSPD interior
[275969] = true, -- Bahama Mamas
}
CreateThread(function()
for k in pairs(interiorsToDisable) do
if IsInteriorReady(k) then
DisableInterior(k, true)
end
end
end)
If you skip this, both interiors render simultaneously and you get z-fighting.
Streaming size and client memory
| Quality | Texture size | Total YTD | Effect |
|---|---|---|---|
| Low | 512 / 1024 | 30-80 MB | safe for all clients |
| Medium | 1024 / 2048 | 100-200 MB | safe on 4+ GB GPUs |
| High | 2048 / 4096 | 300-600 MB | crashes on 4 GB GPUs |
| Hero asset | 4096+ | 1+ GB | use sparingly |
A typical 64-player RP server should keep total streamed assets under 2 GB.
Common breakage
| Symptom | Cause | Fix |
|---|---|---|
| Interior loads as void | wrong file casing on Linux | rename all to lowercase, restart |
| MLO loads but no collision | YBN missing | re-export YBN with collision data |
| Lights wrong / dark | YMT missing or LODmap wrong | include the YMT, check LODdist |
| Crash on entering door | YTYP MLO entries data corrupted | open in CodeWalker, re-save |
| Vanilla interior shows through | DisableInterior call missing | disable the conflicting interior |
Related MLO Troubleshooting
If the interior installs but textures vanish, walls disappear or players pop in late, read FiveM MLO texture loss and headpopping fix. Install problems and streaming problems look similar, but they need different fixes.
