Interiors (MLO INSTANCES)

About naming of collision files - theres no need to name it as name_col.ybn suffix _col usually was used for begginers to better understand where to put collision in metafiles instead of using same name as ydr.

So do not use _col in your collision names.
Heres templates with comments for mlo ytyp, ymap and manifest:
YTYP
YMAP
_MANIFEST
Looking on comments in above templates will help you to create custom instance.



Frequent mistakes made:
In ymap name of shell instead collision
In ymap always put collision name not shell

In ymap <contentFlags value="0"/> or <contentFlags value="1"/>
In ymap content flag must be always <contentFlags value="73"/>  - its flag for interior

Missing collision definition in ymap: <physicsDictionaries/>
It must contain collision name like this:
<physicsDictionaries>
    <Item>colission_name</Item>
<physicsDictionaries/>

Wrong number of exit portals in ymap <numExitPortals value="x"/>
It must contain exact number of exit portals like in ytyp Limbo

Missing room id in collision
In collission must be definied id room/rooms on floor

Shell not attached to limbo or wrongly attached to room.
Shell always is attached to limbo

Wrong numbers of portals (portalCount) in rooms.
Rooms contains portalCount of all portals (floor, mirror too), while limbo only exit portals.

Wrong boundaries for ymap, limbo/rooms.
Boundaries for ymap can be calculated by CodeWalker or you can set it manually but must be biig enough to display mlo instance, for limbo and rooms you need to set it manually (im using boundaries from shell)