Rust libraries for reading, editing, and rendering Blizzard assets: Warcraft III MDX/MDL models, World of Warcraft M2/WMO models, BLP textures, and MPQ archives. Use them to build asset tools, process models without a renderer, or display animated models in Bevy.
wc3 provides the asset APIs. You can edit models through
a checked graph, work directly with native file records, decode textures, and
read or write archives. It has no Bevy dependency. Start here for converters,
editors, and offline processing.
bevy-wc3 loads MDX/MDL, M2, and WMO assets into
Bevy. It provides animation, materials, skinning, attachments, particles, and
model assembly, with a viewer and an offscreen capture tool. Rendering support
varies by feature and format; the renderer overview
explains the current boundaries.
bevy-mpq mounts MPQ archives as Bevy asset sources.
Combine archives and loose files in an ordered overlay to load models and their
textures from the same source. It can be used independently of bevy-wc3.
wc3-derive supplies codec derives for contributors
adding native records. Applications normally use the existing types and the
traits re-exported by wc3.
From a workspace checkout, inspect a Warcraft III model or open it in the viewer:
cargo run -p wc3 --example model_info -- path/to/model.mdx
cargo run -p bevy-wc3 --example viewer -- path/to/model.mdxThe viewer needs a GPU and access to the model's textures. The asset tool guide covers conversion, dependency listing, path replacement, texture export, and archives. The viewer and capture guide explains resource lookup and rendering options. Game assets are not included.
For library integration, start with the crate README, then follow the
asset guides or
Bevy guides. Detailed API references can be built
locally with cargo doc --workspace --all-features --no-deps --open.
The crates are developed together in this Cargo workspace. Use the Rust toolchain selected in CI and run these checks from the root:
cargo test --workspace --all-features
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --all-features --no-depsTests include rustdoc examples. The benchmark guide
covers synthetic workloads, targeted measurements, and GPU benchmarks;
bash benchmarks/run-quick.sh runs the representative optimized CPU suite used
in CI.