
This tutorial will show you what is mapgeo and how to add a custom mesh to map.
If you encounter any issues with this tutorial or you don’t understand part of it, you can ask for help on the Killerskins-Discord server
or you can contact me directly: tarngaina#1234
Table of Contents
Infos
MAPGEO (MapGeometry) is the current map format of League. The file contains all static models of a map and various map related settings.
1. Location of mapgeo file
1.1. Map’s WAD location: Riot Games\League of Legends\Game\DATA\FINAL\Maps\Shipping\MapID.wad.client
Map11.wad.client = Summonner Rift (SR) maps: main SR, URF, worlds,…
Map12.wad.client = Howling Abyss (ARAM) maps
Map21.wad.client = Nexus Blitz maps
Map22.wad.client = TFT maps
1.2. MAPGEO location: inside MapID.wad.client at data\maps\mapgeometry
There can be multiple mapgeo files for multiple modes/events and Riot rotate them alot, you just need to find out the correct file Riot using at the moment. Example, for SR:
Map11.wad.client\data\maps\mapgeometry\map11\base_srx.mapgeo is normal SR map.
Map11.wad.client\data\maps\mapgeometry\sr\worlds_trophyonly.mapgeo is SR at Worlds event.
…
2. Maya Import & Export
2.1. Import: With lol_maya plugin, you can directly import mapgeo file into Maya, by drag and drop mapgeo into scene or File -> Import.

2.2. Export:
Important thing before export: you must rename the original mapgeo file of the map you want to modify to riot.mapgeo, put this riot.mapgeo in the folder where you export new mapgeo file. If you skip this step your map will crash ingame.
How to export: Select the group contains meshes -> File -> Export selection.
3. Explain MAPGEO in Maya
3.1. Mesh:
Mapgeo contains a group of meshes, each mesh’s vertices should not exceed 65k, assigned UV and material and all face normals should point inward.
Important: To export ARAM maps:
– If the group name is “MapID”: you must rename it from “MapID” to “Map12” .
– If the group name is not “MapID” and it starts with “riot_” instead, just keep that name, no need to change anything.

3.2. Layer:
SR map have 8 layers to indicate when a mesh appear on map:
- Layer 1: Base map
- Layer 2: Inferno map
- Layer 3: Mountain map
- Layer 4: Ocean map
- Layer 5: Cloud map
- Layer 6: Hextech map
- Layer 7: Chemtech map
- Layer 8: Unknown
Because there is no Dragons system in other maps, meshes are always assigned to all 8 layers.
You can assign layer for meshes with those button on shelf: ALL for assign selected mesh on all 8 layers, X for remove selected mesh from all 8 layers, 8 next buttons for assign/remove specific layer from 1 to 8.

Example: mesh 831 assigned to layer 1, 3, 4, 5, 6, 7, so this mesh will appear in base, mountain, ocean, cloud, hextech, chemtech map.

3.5. Bushes:
Similar to set for Layers, a map also must have setBushes to indicated which mesh is bush.

3.4. Material:
Each mapgeo file come with a materials.bin next to it, the bin store all material codes needed for that mapgeo to be loaded ingame. (such as map’s particles, shader-texture links,…), you can use ritobin to work with materials.bin

Material names in materials.bin are used with /, this character can’t be used in Maya, so all / will be converted to __ when import, and will be converted back to / when export.

3.5. Texture
3.5.1. Import textures:
Most map textures is located at: MapID.wad.client\assets\maps\kitpieces
Example: base SR use all textures at Map11.wad.client\assets\maps\kitpieces\summoners_rift and Map11.wad.client\assets\maps\kitpieces\srx
First, convert materials.bin to materials.py with ritobin, make sure you have assets folder and all texture needed inside at same location as your materials.py file.

Second, Use IMP button on shelf -> Select materials.py to load textures in maya.

3.5.2. Export textures:
Use EMPPY button on shelf to export all textures + a new materials.py file of all materials that used in scene. This materials.py is not a full completed working file, you need to copy its codes and add to original materials.py.
Keep in mind this button only export default league shader, if you want more advanced shader you must edit bin manually.
3.6 Misc:
- Mapgeo meshes are static mesh, not animated.
- There is no light source ingame, so you must bake shadow / light / ambient to your textures if you don’t want your meshes look “flat”.
- More advanced informations about mapgeo and shelf buttons at here
Required tutorials
In order to follow this tutorial you must understand and be able to follow the following tutorials:

Required tools
Video tutorial
Here is a video made by Devil to showcase how to add a custom mesh in SR, which also has time stamps for each step.