Maps & MLOs·7 min read
How to build a FiveM MLO: from idea to a custom interior on your server
What separates an MLO from a YMAP, which files an interior is made of, the two routes to a finished room and the rules GTA imposes along the way. Including the mistakes we made ourselves.

A custom interior is what makes a FiveM server unmistakable: the police station that looks like your concept art, the club with the right floor plan, the workshop with room for six lifts. Technically such a room is called an MLO, and MLOs are considered the hardest kind of content to make for FiveM. This article explains why, what an MLO consists of and how you build one today without spending three months learning Blender.
MLO or YMAP: the difference
A YMAP places objects in the world: containers on a car park, barriers on a street, furniture in an existing house. The objects simply sit there; GTA does not know they belong together. An MLO (Multi-Level Object, called MILO in the game files) is a sealed interior with rooms, portals between the rooms and its own collision. Here GTA knows you are inside: it renders only the rooms you can see through portals, dampens weather and outside sounds, calculates light and shadow per room and lets peds and vehicles navigate correctly. That is why a well built MLO runs more smoothly than a YMAP with the same furniture, and why it is harder to build.
Which files an MLO is made of
- .ydr and .ydd: the models, meaning walls, floors, ceilings and every piece of furniture that is not from the GTA catalogue.
- .ytd: the textures. Every wall needs a material, every material a texture.
- .ybn: the collision. Without it you fall through the floor. Every triangle of the collision carries the number of the room it belongs to.
- .ytyp: the description of the interior. This is where the rooms live, the portals between them, which objects belong to which room and what properties a room has, for example whether it rains inside.
- .ymap: the placement in the world. Position, rotation and which ytyp entry appears there.
- _manifest.ymf: the table of contents that tells GTA which ymap contains which interiors. If the INTERIOR_DATA entry is missing, the room exists but is invisible.
The interplay of these six files is why MLOs are considered hard. A model is built in an hour. Making GTA understand it as an interior, with rooms, portals and a collision that matches every room, is the real work.
Route 1: Blender, Sollumz and CodeWalker
The classic route. In Blender you model the room, with the Sollumz add-on you create materials in GTA format, build the collision as its own object and define rooms and portals by hand. The export yields ydr, ybn and ytyp. In CodeWalker you place the interior in the world and generate the ymap and the manifest. For people who master Blender it is the most flexible route: there is no shape that cannot be done.
The price is time. Expect two to four weeks of learning for a first usable room, and errors that produce no message: a portal half a metre off the doorway makes walls flicker as you walk through. A collision without a room number lets you fall through the floor, but only in one room. A material with the wrong shader renders black. None of this shows up in the console.
Route 2: 5MC Forge
Because we made exactly those mistakes for years ourselves, we built Forge. It thinks in floor plans instead of files: you draw rooms on a grid, place walls, doors and windows, pick floors, walls and ceilings from a texture library of GTA surfaces or your own images, put in furniture from the GTA catalogue or custom models and set lights. Rooms, portals, collision with room numbers, ytyp, ymap and manifest are generated at build time because Forge knows the floor plan. A test server button starts a FiveM server with the room so you can walk it right away.
What Forge cannot do: free shapes. A room is built from walls on a grid; curves and sloped ceilings are models you import. For police stations, hospitals, workshops, clubs and shops that is no obstacle; for a cathedral it is. In return, a room that costs a week in Blender takes an afternoon in Forge, and it works on the first build.
The rules GTA imposes
- At most 32 rooms per interior. The collision only knows room numbers 0 to 31; anything above is not drawn. We learned that from a police station whose upstairs office simply did not exist. Large buildings are split into several interiors.
- Portals must be honest. A portal is the surface through which you see from one room into the next. If it does not sit exactly in the doorway, the wall behind it flickers as soon as you walk through.
- Objects must not be newer than the server. A single piece of furniture from a DLC the server build does not know makes the whole interior vanish, with no error. Check which build the server runs before building.
- Scaling objects does not work in the world. A prop that is half size in the preview stands at original size in game. If you need a smaller pane of glass, use a different model or a custom panel.
- Every surface costs streaming memory. A room with 4K textures on every wall is beautiful and makes a busy server stutter. 1K for walls, 2K only for surfaces you see up close.
Installing it on the server
An MLO is a resource like a vehicle: a folder with fxmanifest.lua and a stream folder holding all the files. The manifest needs one line telling GTA that map data is coming.
fx_version 'cerulean'
game 'gta5'
this_is_a_map 'yes'Then ensure it in server.cfg, restart the server, teleport to the position. If the room replaces an existing GTA building, say the Mission Row police station, the original has to be hidden. Forge has a list of the models that should disappear at that spot for this; without such a list both buildings stand inside each other.
The mistakes everyone makes once
- The room is invisible but you bump into walls: the manifest does not know the interior, or an object comes from a DLC that is too new.
- You fall through the floor in one room but not the others: that room's collision carries the wrong room number.
- Walls flicker as you walk through: a portal is not in the doorway or missing altogether.
- Everything is dark or flatly lit: the room lacks light sources, or it has no timecycle modifier allowing interior light.
- It rains inside: the room is missing the flag that keeps weather out.
- Doors do not open: doors are objects with their own logic and need a door script on the server that knows them.
MLOs from 5MCustoms
We build interiors as commissioned work: to your floor plan, with your logo on the wall, at a fixed price from the cost estimate. Every room is tested on a server with the customer's build before delivery. If you want to build yourself and you are a mapper, you can reach out through the mapper programme and work with Forge.
Frequently asked questions
How long does it take to build an MLO?
A simple shop with two rooms: an afternoon in Forge, two to three days in Blender for someone who knows it. A police station with cell block, offices and underground garage: one to two weeks in Forge, several weeks in Blender.
Can I use an MLO from GTA5-Mods.com on my server?
Often yes, the files are the same. Many of those MLOs, however, are built for singleplayer and heavy on busy servers: large textures, no detail levels, missing portals. Check the creator's licence and test with resmon and streaming memory before it goes on the live server.
How many MLOs can a server handle?
No fixed number. What matters is the client's streaming memory, and large textures fill it faster than many rooms. Ten clean MLOs run better than three overloaded ones. Rule of thumb: anything players do not enter weekly goes out.
What does a custom MLO cost?
It depends on size and fit-out. Fixed prices are in the cost estimate in the shop; there you can combine rooms and extras and see the price before you ask.
Related products
Founder of 5MCustoms
Justin has been building FiveM servers, vehicles and scripts for years. 5MCustoms is the framework that grew out of it. What you read here comes from practice, not from a product sheet.
Keep reading
All articles
Server setup·1 October 2026
Detecting cheaters on your FiveM server: how to spot them and what actually works against them
Which mod menus exist, which traces they leave, why client-side checks are useless and how a server-side anti-cheat decides. With a checklist for the first evening after opening.
5 min read

Server setup·1 October 2026
FiveM server optimization: why it stutters and how to find the cause in an hour
Server tick, client FPS and streaming are three different problems with three different tools. How to find the culprit with resmon, the profiler and txAdmin, and the ten causes that are almost always behind it.
5 min read

Server setup·1 October 2026
What a FiveM server really costs: three budgets for three kinds of server
Hosting, framework, scripts, vehicles, Discord, domain and the items nobody thinks of. Three worked examples from a friends-only server to a whitelist project, with what really adds up in the first year.
5 min read

