Evil Engine
Devlogs
2026-10-31 15:40 MST

Garry's Mod's materials, matched

Converting Garry's Mod's models, textures and materials into Evil Engine's own formats, and checking the result against what Garry's Mod itself loads.


Once a game mounts, its content has to turn into Evil Engine content. Nothing past the converter is allowed to know which game a model or material came from.

The numbers

  • All 4,721 Garry’s Mod models on my machine convert into the engine’s model format, which is glTF’s .glb
  • All 15,387 VTF textures convert into KTX2, cube maps and animated frames included
  • All 8,254 VMT materials convert into the engine’s TOML material format, and Garry’s Mod’s own dump of every material it loads agrees on every value for the 8,157 materials both sides have

Converted Garry’s Mod props opened in Blender with their converted base textures: a traffic cone, oil drum, blue barrel, crate, watermelon, doll, couch, vending machine and lockers

Converted Kleiner, G-Man and Combine soldier models opened in Blender in their bind pose, with their converted textures

A wall of fifty converted textures: brick, concrete, metal, wood, tile, building fronts, prop sheets and signs

Why check against the game

Behaviour is the spec. The converter is written from what Garry’s Mod actually does, and Garry’s Mod itself is the oracle it gets checked against, so whenever the two disagree the game wins.

The oil drum’s material three ways: the VMT that ships, Garry’s Mod’s own dump of what it loaded, and the converted Evil Engine material, with every value the VMT sets matching

Image preview