Skip to content

League Tools

TheKillerey edited this page Apr 13, 2026 · 1 revision

League Tools

A suite of editors and importers for various League file formats, accessible from the League Tools sidebar tab.


WAD Archive Tool

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.

Operations

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

Hash Resolution

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.

WAD Cache

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.


Troybin Particle Editor

Panel: League Tools → Troybin Particle Editor

Full editor for .troybin binary particle files used by League's older particle system.

Features

  • Import/Export .troybin files
  • Emitter management — add, remove, reorder emitters
  • Property editing — modify any emitter property
  • Create new — build particle definitions from scratch
  • Reload — refresh from disk

Structure

Troybin File
├── Emitter 1
│   ├── Property: p-life (float)
│   ├── Property: p-vel (vector3)
│   ├── Property: p-scale (float)
│   └── ...
├── Emitter 2
│   └── ...
└── ...

Hash System

Troybin uses SDBM hashing for field names. The editor resolves common hashes to human-readable names.


SCO/SCB Mesh Tools

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)

Operations

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

SKN/SKL Skinned Mesh

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)

Operations

Button Action
Import SKN/SKL Import a skinned mesh with skeleton
Batch Import Import multiple character meshes
SKN/SKL Info Display skeleton/mesh statistics

What Gets Imported

  • Mesh geometry with UV channels and vertex colours
  • Armature with full bone hierarchy
  • Vertex weights per bone
  • Material assignments

PropertyBin Editor

Panel: League Tools → PropertyBin Editor (opens on file load)

Generic editor for .bin files (PROP format). This is League's universal data container.

Operations

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

Hash Resolution

The editor can resolve hex path/type/name hashes to human-readable names using:

  1. Built-in known hashes
  2. Community hash database (downloadable)
  3. Custom hash name files

FNV-1a Hash Calculator

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"

CFGBin Editor

Panel: League Tools → CFGBin Editor

Editor for config binary files (different structure from PROP).

Operations

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

Map11 Editor

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.

Operations

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

MapSkin Fields

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

Character Bin Updater

Panel: League Tools → Character Bin Updater

Batch update character.bin files when League patches change character data.

Workflow

  1. Pick Project Folder — select your project root.
  2. Scan — find all character bins in the project.
  3. Select bins to update (Select All / Select None).
  4. Update Selected — apply patch-level changes with automatic backup.

Materials.bin Manager

Panel: League Tools → Materials.bin Manager

Direct editing of materials.bin file structure, focused on the MapContainer chunk system.

Operations

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.


Legacy Map Import

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

Project Integrity Checker

Panel: League Tools → Project Integrity

Validates your project for common issues before export.

Checks Performed

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

Operations

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

Severity Levels

  • Error — will cause crashes or broken rendering
  • Warning — may cause visual issues
  • Info — suggestions for improvement

Clone this wiki locally