-
Notifications
You must be signed in to change notification settings - Fork 0
League Tools
A suite of editors and importers for various League file formats, accessible from the League Tools sidebar tab.
Panel: League Tools → WAD Archive Tool
WAD (Wwise Audio Data / generic archive) files are League's bundled asset containers. The addon can extract, browse, and repack them.
| Button | Action |
|---|---|
| Open WAD | Select a .wad.client file to browse |
| Extract WAD | Extract all entries to a folder |
| Extract Selected | Extract only selected entries |
| Download WAD Hashes | Fetch hash dictionaries from CommunityDragon (~180 MB) |
| Load Hashlist | Load a custom hash mapping file |
| Save Hashlist | Save current hash mapping |
| Scan .bin Files | Extract and catalog all .bin entries |
| Repack WAD | Write modified files back into a WAD archive |
| Refresh | Reload the WAD file listing |
WAD entries are identified by XXHash64 of their file path. Without hash dictionaries, entries appear as hex names in a raw/ folder. With hashes loaded, entries get their proper paths (e.g. data/maps/mapgeometry/map11/sodapop_srs.mapgeo).
Hash files are stored in the addon's hashes/ directory:
-
hashes.game.txt.0(~86 MB) -
hashes.game.txt.1(~98 MB)
Hash files are automatically shared across Blender versions by the update script.
When extracting WAD files for Project Manager, the addon caches extracted contents:
%APPDATA%\Blender Foundation\Blender\<ver>\mapgeo_addon\wad_cache\<MapId>\
A .extraction_done marker file prevents re-extraction on subsequent project scans.
Panel: League Tools → Troybin Particle Editor
Full editor for .troybin binary particle files used by League's older particle system.
-
Import/Export
.troybinfiles - Emitter management — add, remove, reorder emitters
- Property editing — modify any emitter property
- Create new — build particle definitions from scratch
- Reload — refresh from disk
Troybin File
├── Emitter 1
│ ├── Property: p-life (float)
│ ├── Property: p-vel (vector3)
│ ├── Property: p-scale (float)
│ └── ...
├── Emitter 2
│ └── ...
└── ...
Troybin uses SDBM hashing for field names. The editor resolves common hashes to human-readable names.
Panel: League Tools → SCO/SCB Mesh Tools
Import and export League's static mesh formats:
- .scb — static collision binary (older mesh format)
- .sco — static collision object (older mesh format)
| Button | Action |
|---|---|
| Import SCO/SCB | Import a single mesh file |
| Export SCO/SCB | Export selected mesh |
| Batch Import | Import all meshes from a folder |
| Import Map Meshes | Import official map mesh bundle |
| Mesh Info | Display mesh statistics |
Panel: League Tools → SKN/SKL Skinned Mesh
Import League character meshes with skeletons:
- .skn — skinned mesh (vertices, faces, weights, materials)
- .skl — skeleton (bone hierarchy, transforms)
| Button | Action |
|---|---|
| Import SKN/SKL | Import a skinned mesh with skeleton |
| Batch Import | Import multiple character meshes |
| SKN/SKL Info | Display skeleton/mesh statistics |
- Mesh geometry with UV channels and vertex colours
- Armature with full bone hierarchy
- Vertex weights per bone
- Material assignments
Panel: League Tools → PropertyBin Editor (opens on file load)
Generic editor for .bin files (PROP format). This is League's universal data container.
| Button | Action |
|---|---|
| Import PropertyBin | Load a .bin file |
| Export PropertyBin | Write changes back |
| Clear | Clear all entries |
| View Entry | Inspect entry fields |
| Edit Value | Modify a field value |
| Hash Calculator | FNV-1a hash lookup/compute |
| Load Hash Names | Import hash→name mappings |
| Download Community Hashes | Fetch CommunityDragon hash database |
| Reload Cached Hashes | Reload from local cache |
The editor can resolve hex path/type/name hashes to human-readable names using:
- Built-in known hashes
- Community hash database (downloadable)
- Custom hash name files
Enter a string to compute its FNV-1a 32-bit hash, or enter a hash to look up its string:
Input: "StaticMaterialDef" → Hash: 0xff9d3409
Input: 0xff9d3409 → Name: "StaticMaterialDef"
Panel: League Tools → CFGBin Editor
Editor for config binary files (different structure from PROP).
| Button | Action |
|---|---|
| Import CFGBin | Load a config binary |
| Export CFGBin | Write changes |
| Load CFG Names | Import field name mappings |
| Clear | Clear entries |
| Edit Entry | Modify entry values |
| Add Entry | Create new entry |
| Remove Entry | Delete entry |
| Resolve Hash | Look up hash in mappings |
| Hash Calculator | FNV-1a calculator |
Panel: League Tools → Map11 Editor
Edit map11.bin MapSkin associations — the file that tells the game which geometry, particles, and VFX to load for each map slot.
| Button | Action |
|---|---|
| Pick map11.bin | Select the file |
| Load | Parse into editor |
| Apply to Selected | Bulk-apply settings |
| Select All | Select all entries |
| Copy from Active | Copy active entry |
| Save | Write changes |
Each MapSkin entry contains:
-
Skin name (
0x8d39bde6) — e.g. "Milkshake_SRS" -
Geometry path (
0x960efd81) — e.g. "Maps/MapGeometry/Map11/Milkshake_SRS" - Character skin overrides — which skins characters use on this map
- VFX links — which VFX definitions to load
- Grass tint — grass colour settings
- Additional visual settings
Panel: League Tools → Character Bin Updater
Batch update character.bin files when League patches change character data.
- Pick Project Folder — select your project root.
- Scan — find all character bins in the project.
- Select bins to update (Select All / Select None).
- Update Selected — apply patch-level changes with automatic backup.
Panel: League Tools → Materials.bin Manager
Direct editing of materials.bin file structure, focused on the MapContainer chunk system.
| Button | Action |
|---|---|
| Load from Project | Auto-locate materials.bin |
| Load | Manual file picker |
| Reload | Refresh from disk |
| Save / Save As | Write changes |
| View MPC Contents | Inspect MapPlaceableContainer entries |
| Remove Chunk + MPC | Delete a chunk and its linked MPC |
| Enable/Disable All | Toggle all chunks |
| Add Chunk | Create a new chunk entry |
This is useful for advanced editing of which content chunks the map loads.
Panel: League Tools → Legacy Map
Import legacy League map formats (pre-mapgeo era):
| Button | Action |
|---|---|
| Scan Legacy Sources | Detect legacy files in a folder |
| Import Legacy Map Bundle | Import entire legacy map (NVR + materials.py + particles) |
| Import Legacy NVR | Import .nvr mesh format |
| Import Legacy LightDat | Load legacy lighting data |
| Import LightEnvironment | Load legacy environment settings |
| Import Legacy Particles.dat | Load legacy particle system |
Supported formats:
-
.nvr— legacy mesh container -
.dat— legacy lighting/particle data -
materials.py— legacy Python-format materials
Panel: League Tools → Project Integrity
Validates your project for common issues before export.
| Check | What it validates |
|---|---|
| Mesh validation | Geometry, materials, properties present |
| Material references | All mesh materials exist in materials file |
| Texture paths | Referenced textures exist on disk |
| Layer assignments | Valid visibility layer values |
| Bucket grid integrity | Grid metadata matches scene state |
| Visibility controllers | Controller references resolve |
| Linked files | All linked files exist |
| Lightmap paths | Lightmap texture references valid |
| Button | Action |
|---|---|
| Check Project | Run all validators |
| Clear Results | Reset the results list |
| Show File | Open the file referenced by an issue |
| Select Affected Meshes | Highlight problem meshes in viewport |
| Fix Issue | Auto-fix specific issue types |
| Import Visibility Controller | Load a controller from materials |
- Error — will cause crashes or broken rendering
- Warning — may cause visual issues
- Info — suggestions for improvement