⚙️ Engines¶
Tools specific to widespread third-party game engines.
GameMaker¶
- UndertaleModTool - Tool for modding/decompiling GameMaker games.
- GMS-Explorer - Game Maker Studio
data.winexplorer. - GMSD - GameMaker Studio decompiler in F#.
- UndertaleTools - GameMaker data.win unpacker/packer.
- pugIFF - GameMaker IFF gamefile reader in GML.
- YYTextureView - Tool for exploring textures in GameMaker games.
- libaltar - Library for processing GameMaker: Studio binary file formats (decompiler).
- gamemaker2-data-research - Tools/Documentation for GameMaker 2 data files.
- LojRipper - Tool to dump .win files from GameMaker YYC-compiled executables for game modding purposes.
- GM8Decompiler - Decompiler for GameMaker 8.x executables, recovering the original game's assets and code from compiled
.exefiles. - phosphorvm - Open-source reimplementation of the GameMaker: Studio runner, reading original compiled GameMaker data/executables.
- OpenGMK - Rewrite of the GameMaker Classic (8.x) engine runners with additional tooling, loading and executing original .gmk-derived game data.
- gm_data_win - GameMaker Studio 2 data.win editor/library written in Rust, developed for Rivals of Aether modding.
- gm-modding-gui - Simple UI for modding GameMaker 2 games.
- Butterscotch - GameMaker runtime reimplementation that loads original compiled GameMaker game data, in the tradition of phosphorvm and OpenGMK.
- cinnamon - GameMaker runtime reimplementation ('Cinnamon') that loads original compiled GameMaker game data, in the tradition of phosphorvm and OpenGMK.
- gmspack - C reimplementation for extracting the
data.winfile produced by GameMaker Studio, ported from UndertaleTools.
Source (Valve)¶
Engines, Libraries & Full Toolkits¶
- noclip.website (Source Engine) - In-browser Source engine map viewer supporting Counter-Strike: Source, Day of Defeat: Source, Half-Life 2, Half-Life 2: Deathmatch, Half-Life 2: Lost Coast, Half-Life 2: Episode 1, Half-Life 2: Episode 2, Team Fortress 2, Portal, Portal 2, Counter-Strike: Global Offensive, Left 4 Dead 2, The Stanley Parable, Infra, Neo Tokyo, and Estranged: Act I.
- noclip.website (GoldSrc) - In-browser GoldSrc map viewer supporting Half-Life, Counter-Strike, Team Fortress Classic, and Day of Defeat.
- srctools - Python modules for working with Source Engine file formats.
- Formats: VMF, BSP, VPK.
- go-valve - Go library for querying A2S server information from Source servers.
- sledge-formats - C# parsers and formats for Half-Life 1 and related engines.
- powerjack - Team Fortress 2 asset viewer and demo player. Features improved rendering with direct lightmap sampling from BSP data.
- ValveResourceFormat - Source 2 Viewer is a powerful tool that allows you to browse VPK archives, view, extract, and decompile Source 2 assets, including maps, models, materials, textures, sounds, and more. Also includes C# library for reading and writing Valve Source engine resource files.
- source-engine - Modified Source engine (2017) developed by Valve and leaked in 2020. Not for commercial purposes.
- Kisak-Strike - Open-source, fully buildable CS:GO port on Source 1; requires original game assets.
- Crowbar - All-in-one GoldSource and Source Engine modding tool: decompile/compile MDL model files, unpack game packages, and publish addons to Steam Workshop.
- ps2-hl-tools - Tools for extracting and converting PS2 Half-Life port resources, including .pak archives, .dol models, .spz sprites, .psi images, .psf fonts, .vag music, .nod AI nodes, .epc model precache lists.
- SourceLoader - Source Engine map loader supporting BSP, VTF, and MDL formats with OBJ export.
- lambda-core - Go library for parsing Source Engine asset formats (VMT, VTF, MDL, BSP) with filesystem and resource management.
- uSource - Unity plugin for importing Source Engine formats (MDL, BSP, VTF, VMT, VPK, VVD, VTX).
- Unity-Source-Tools - Unity plugin for importing and extracting Source Engine game resources (maps and models).
- source1import - Python scripts for importing Source 1 game assets (materials, models, particle effects) into Source 2.
- sourcepp - C++20 library suite for parsing Source Engine file formats (VTF, MDL, VVD, VPK, BSP, etc.).
- awpy - Python library for parsing and analyzing Counter-Strike 2 .dem demo files (via a Rust demoparser backend) and CS2 .nav navigation-mesh files, exposing tick-level player/event data as dataframes.
- UEditingTools - Unreal Engine 5 widget/pipeline for importing CS2, CS:GO, CS:S, TF2, and CS 1.6 player, weapon, and viewmodel assets with correct skeletons, cameras, and sequencer/level placement; companion to the same author's io_scene_CSGO Blender importer.
- SourceUtils - Source Engine file format exporting toolkit with a WebGL-based map viewer, converting BSP maps and their assets for in-browser rendering.
- HalfMapper - Renderer that loads and displays all Half-Life maps simultaneously, exploring the Black Mesa Research Facility by parsing the game's original BSP map data.
- cs2typescript - Converts Counter-Strike 2 map-scripting files from .vts (TypeScript source) to the compiled .vts_c format.
- vpulse-editor - Unofficial editor for Source 2's Pulse visual scripting graph files, used in Dota 2, CS2, and Deadlock, filling a gap left by the lack of official Valve tooling for this format.
- Hammer5Tools - Suite of editors (SoundEvent, SmartProp, Hotkey, Loading) for Counter-Strike 2 / Source 2 Workshop Tools content creation, complementing Valve's official Hammer 5 editor.
- DemoViewer - Viewer for Counter-Strike 2 / Source 2 .dem demo/replay files.
- halflife - Valve's official Half-Life 1 SDK source release, containing the client/server game-logic DLL source that defines GoldSrc's original data formats.
- hlsdk-portable - Cross-platform, actively maintained continuation of the Half-Life SDK for GoldSource and Xash3D, used to build original HL1 mod DLLs on modern OSes.
- halflife-updated - TWHL community-maintained, modernized fork of Valve's Half-Life 1 SDK with bug fixes and cross-platform build support.
- xash3d-fwgs - Cross-platform reimplementation of the GoldSrc engine, loading original Half-Life BSP/WAD/MDL game data. Actively maintained; companion to hlsdk-portable.
- ReGameDLL_CS - Enhanced, cross-platform server-side GameDLL reimplementation for Counter-Strike 1.6 and Condition Zero, a GoldSrc-format companion to ReHLDS.
- See also FWGS's fork.
- hvox - Standalone player for Half-Life's sentence system, loading the game's original voice-pack WAV files and synthesizing SENTENCES.TXT-style scripted lines with per-word pitch/volume/timing control codes.
- vitaXash3D - PS Vita port of Xash3D-FWGS, loading original GoldSrc BSP/WAD/MDL game data (Half-Life, Counter-Strike, and other GoldSrc titles) natively on the Vita.
- freehl - Clean-room reimplementation of Half-Life and Half-Life: Deathmatch in QuakeC, reading original GoldSrc game data. The same author maintains similar clean-room reimplementations of other GoldSrc-era mod SDKs (freecs for Counter-Strike 1.5, freesci for Science and Industry, freegunman for Gunman Chronicles, freehunger for They Hunger, freegearbox for Opposing Force, freetfc for Team Fortress Classic, freepoke646 for Poke646).
- FreeTS - Clean-room reimplementation of The Specialists, another GoldSrc-era Half-Life mod, built on Nuclide and freehl.
- nuclide - Software development kit for building new games and mods on id Tech, used by freehl and related clean-room GoldSrc-era reimplementations.
Maps & BSP¶
- valve-bsp-parser - Parser for Valve BSP (Binary Space Partition) map files.
- corvid - Source Engine level converter for Call of Duty.
- GtkRadiant - Open source, cross-platform level editor for id Tech and Source engine games.
- bsp_tool - Python library and CLI for reading, analysing, and editing .bsp map files across many Quake-derived engines.
- Engines: Source (VBSP), GoldSrc, idTech/Quake, Quake II, Quake III, Respawn's Source fork (Titanfall 1/2, Apex Legends), Infinity Ward (Call of Duty).
- LibBSP - C# library for parsing BSP map files across Quake-derived engines, including Quake 1/2/3, GoldSrc, Source, and other idTech forks. Used by BSP Importer for Unity3D and BSP Decompiler.
- uQuake3 - Unity3D importer for Quake 3 BSP map files, enabling Quake 3 levels to be loaded and used inside the Unity engine.
- HammerAddons - Hammer editor addons for BSP file processing, entity support, and auto-packing Source Engine game assets.
- VMF2OBJ - Tool for converting Source Engine VMF map files to OBJ format with materials.
- csgo-centrifuge - Go API and CLI for extracting data from CS:GO BSP files, including radar overviews and map structure information.
- vmflib-godot - Godot 4 library for creating and exporting Source Engine VMF map files (targeted at Portal 2).
- Scopa - Unity level design plugin for importing Quake .MAP, Half-Life .RMF, Source .VMF map formats, and .WAD textures.
- bsp - Go library for parsing Valve Source Engine .bsp (Binary Space Partition) map files.
- WifeRadiant - Open-source, cross-platform level editor for idTech, Source Engine, and GoldSrc based games; modern fork of NetRadiant.
- bsp-decompiler - Decompiler for many BSP map formats (Quake, GoldSrc, Source, and other id Tech-derived engines), reconstructing editable map sources.
- bspsrc - Java-based map decompiler for Source engine .bsp files, reconstructing editable .vmf sources for Hammer.
- VMFInstanceInserter - Tool for inserting func_instance entities into Source Engine VMF map files.
- VertAlert - Finds, displays, and optionally rounds floating point plane coordinates in Source Engine .vmf map files.
- BspZipGUI - GUI wrapper around Valve's BspZip command-line utility for packing custom files (materials, models, sounds) into Source Engine BSP map files.
- SourcePorter - Tool for porting/decompiling Counter-Strike: Global Offensive BSP maps to Counter-Strike 2's VMF/Source 2 format.
- hlbsp - Half-Life WebGL level and model viewer, loading and rendering the game's original .bsp and .mdl files.
- map-files - '.MAP Files' article and accompanying source code documenting the id Tech .MAP editable level-source format used by Quake/Half-Life-derived engines.
- Chisel.Import.Source - Valve Map Format (VMF) importer for Unity's Chisel Editor, allowing Source Engine VMF maps to be imported and edited in Unity.
- func_godot_docs - Documentation for FuncGodot, a Godot plugin for building levels using the id Tech/Quake .MAP text-based map format.
- qbsp-gltf - CLI tool to convert Quake 2 BSP map files to binary glTF (.glb) models.
- GodotGoldSrcBSP - Godot plugin to load GoldSrc BSP map files, companion to the same author's Godot-GoldSrc-MDL-Importer.
Models (MDL/SMD)¶
- valve-vrm - Documentation and converter for Valve's experimental VRM model format.
- StdPatch - StudioMDL Compiler Patcher that removes limitations of the Source Engine models compiler. Allows compiling high-poly models by expanding vertex arrays, weight arrays, and flexcontroller arrays. Includes StdInjector for DLL injection into studiomdl process.
- studiomodel - Go library for loading Valve studiomodel formats.
- Formats: .mdl, .vtx, .vvd.
- source-engine-model-loader - Three.js loader for parsing Source Engine model formats (MDL, VMT, VTF, VTX, VVD).
- Godot-GoldSrc-MDL-Importer - Plugin that imports GoldSrc .mdl model files into Godot.
- hlmvqt - Half-Life model viewer written from scratch using Qt 6.
- VPhysics-Jolt - Volt, a drop-in replacement for the Source Engine's VPhysics module built on Jolt Physics, parsing the engine's compiled VPhysics collision model (
.phy) data to reconstruct rigid bodies, ragdolls, and constraints. - HalfLifeAssetManager - Tool to view and edit Half-Life 1 (GoldSrc) MDL models.
Textures & Materials (VTF/VMT)¶
- AutoVTF - C# WinForms tool for working with VTF files. Monitors materials folder and automatically converts updated images to VTF format, preserving VTF settings. Features drag-and-drop conversion, advanced VTF options panel, and Hammer++ hotloading support.
- Formats: PNG, BMP, TGA, JPG, PSD (input), VTF (output).
- VTFLib - C/C++ library for reading/writing VTF and VMT texture/material files. See also panzi's fork — Linux port adding a CMake build, libtxc_dxtn support, and buffer-overflow fixes.
- vtf2img - Python library for converting Valve Texture Format (VTF) files to standard image formats.
- vtf - Go library for parsing and converting Source Engine .vtf texture format files.
- vmt - Go library for parsing Source Engine .vmt Valve Material format files.
- MareTF - Utility for creating, editing, and displaying VTF (Valve Texture Format) files. Supports all VTF versions used in Source Engine games (Half-Life 2, Portal, Counter-Strike, Team Fortress 2, etc.).
Packages & Filesystem (VPK/GCF/GMA/WAD)¶
- ValvePak - C# .NET library for reading and writing Source 2 VPK (Valve PacK) archives. Part of the ValveResourceFormat project.
- VPKEdit - Cross-platform GUI and CLI tool for creating, reading, and writing many pack file formats used across Source, GoldSrc, and Quake-family games.
- Formats: VPK (Source 1/2), GCF, GMA, WAD (GoldSrc), PAK (Quake/HL1), PK3 (Quake II), PK4 (Quake IV/Doom 3), BSP (Source 1), XZP (Xbox HL2), VPP (Red Faction/Saints Row), PCK (Godot), ZIP, and more.
- Features: In-pack preview of audio, images, VTF textures, and Source 1 models without extraction; available for Windows, macOS, and Linux.
- fgptool - Tool for cracking filepath hashes in The Orange Box PS3 file groups (.vpk format).
- filesystem - Go library for managing Source Engine VPK archives (Counter-Strike: Source, CS:GO, Team Fortress 2, etc.).
- WadMaker - Command-line tools for creating and extracting Half-Life (GoldSrc) texture WADs and sprites.
- jvpklib - Simple Java library for reading Valve VPK archive files used in Source Engine games.
- vpk_fuse - FUSE filesystem for mounting and browsing the contents of Valve VPK package files.
- WAD3xtract - Command-line extractor for Half-Life's WAD3 texture archive format.
- vpk - Python library and CLI for opening, searching, extracting, and creating Valve VPK archives.
KeyValues, VDF & Choreography¶
- vdf-parser - Parser for Valve Data Format (VDF) files used in Source games.
- ValveKeyValue - .NET library for parsing Valve's KeyValue format used in Source/Source 2 engines.
- checksum - Utility for calculating CRC32 checksums for Source Engine file validation.
- keyvalues - Go library for parsing Source Engine KeyValue format files (gameinfo.txt, vmt, vmf, etc.).
- vsif2vcd - Decompiles VCD choreography scenes from Source Engine
scenes.imagefiles back into editable.vcdfiles. - VDataEditor - Desktop editor for Source 2 KV3 data files (.vdata, .vsmart, .vpcf).
DCC Plugins (Blender / 3ds Max / Maya / XSI)¶
- Blender Source Tools - Blender addon for importing and exporting Source Engine model and animation formats. Enables 3D asset creation and modification for all Source Engine games in Blender.
- Plumber - Blender add-on for importing Source 1 engine maps, models, materials and textures from CS:GO, TF2, CS:S, and other titles.
- Features: full map import (brushes, overlays, lights, props, skyboxes), MDL/material/texture import with color options, and embedded file browser.
- SourceOps - Blender addon for exporting models to Source 1. More convenient alternative to Blender Source Tools. Features export objects as SMD or FBX, export actions as SMD, generate QC based on UI settings, buttons to compile and view models, and experimental export for brushes and displacements to VMF. Requires Blender 2.83 or newer.
- io_mesh_SourceBSP - Blender addon for importing and exporting Source Engine BSP map files.
- io_texture_VTF - Blender addon for importing and exporting Source Engine VTF texture files. (Archived)
- AutoMDL - Blender 4+ addon for Source engine MDL compilation workflow. Automatically compiles .blend files to .mdl format when saved in a models folder, with Hammer++ hotloading support. Features automatic material path detection, collision model support, and studiomdl.exe integration.
- SourceIO - Blender 3.6+ addon for importing Source Engine assets (models, maps, textures, materials) for both Source 1 and Source 2.
- Formats: Source 1 — MDL, BSP, VTF, VMT; Source 2 — VMDL, VMAP, VTEX, VMAT.
- Games: CS:GO, TF2, Source Filmmaker, Garry's Mod, HL2 + episodes, Portal 1/2, L4D2, Black Mesa, Vindictus, Titanfall 1, CS2, Half-Life: Alyx, Aperture Desk Job, S&Box.
- io_scene_CSGO - Blender addon for importing Counter-Strike: Global Offensive model formats (QC, SMD, DMX), with batch conversion and SFM2 DMX to FBX support.
- SMDMaya - Import and export Valve SMD and DMX files natively within Autodesk Maya.
Legacy Tools & Downloads (ModDB)¶
- 3D Studio Max SMD Import Plugin - Plugin for 3DS Max 9, 2008, and 2009 to import SMD files from Valve games. Inspired by Cannonfodder's work for 3DS Max 5-7.
- 3D Studio Max SMD Export Plug-in - Plugin for 3DS Max 9, 2008, and 2009 to export Source reference and animation sequence SMD files. Supports Standard and Multi/Sub-Object materials, Editable Mesh and Editable Poly geometry, Skin and Physique modifiers, and helper nodes.
- Dvondrake's SMD exporter for Blender - The first fully-functional Source engine SMD exporter for Blender. Supports reference, physics and animation, and has an accompanying video tutorial.
- Autodesk Softimage Mod Tool 7.5 (Source Developers) - (Formerly the XSI Mod Tool) A completely free version of the Autodesk Softimage modelling package. Plugins for Source, CryEngine 2, Unreal Engine 3, XNA, Unity, and more are available.
- Blender3D SMD Exporter (Half-Life 2) - Provides support for Blender3D to export models to the Half-Life 2 SMD format. Supports rigged meshes as well as animations.
- Goldsrc Model Viewer (V 0.3a Beta2) - Simple model viewer for GoldSrc engine (Half-Life 1) models. Supports MDL format (v0.3a Beta2, archived). Note: MDL v4 support not yet added.
- Half Life 2 MDL (v37) Importer V 0.9 Beta for 3DS
- Jed's Half-Life Model Viewer 1.36 - Modified version of Mete Ciragan's Half-Life Model Viewer 1.25 with support for new Half-Life engine texture features (v1.36).
- Source Model Viewer [Build: 2019-04-23] (Half-Life 2)
- VTF-2-TGA Convertor Utility (Half-Life 2) - Batch converter for VTF files to TGA format.
- Texture Tool v1.2.1 (Half-Life) - Tool for auto-generating texture flag scripts for the external loader feature in Trinity\Abyss. Useful for flagging hundreds of external high-resolution textures for in-game usage.
- BSP Decompiler by 005 (Half-Life) - 005 (created by 005) is a decompiler for most BSP formats. Support may vary between engines. Also supports outputing to many different map editor file formats.
- Bloody Knife + Addon DB Skin Tutorial (Counter-Strike: Source) - Official tutorial addon with full narrated video tutorial (20+ minutes) on how to modify skins for Source-based games.
- Bloodlines Character Search Tool v1.0 (Vampire: The Masquerade – Bloodlines)
- Detail Tool v1.0 (Half-Life) - Tool for auto-generating "detailtextures.txt" for the detail file generator used by the Trinity\Abyss engine.
- Game Server Browser & Admin Tool 1.2.1 (Half-Life 2) - A versatile tool that benefits both gamers and administrators alike.
- GMad Extractor (Garry's Mod) - A noice, custom, GUI that allows extracting Garry's Mod addon files (.GMA)
- Half Life 1 Modding Kit Addon 2 - Map files and prefabs for Half-Life 1 modding. Includes: M60, Barrett 50 cal, Black Mesa Van, military tanks/trucks, vending machines, computers, and more. Not all tested.
- Half-Life Asset Manager V3.0.0 - Modeling tool based on Half-Life Model Viewer 2 with many improvements. Best model viewer for Half-Life 1. Note: Only supports Half-Life 1/GoldSource, not Half-Life 2/Source and Source 2 (v3.0.0).
- Half-Life DLL Decompiler - DLL decompiling tool for pre-Steam CD-retail versions of Half-Life. Source code provided for programmers and developers.
- Half-Life: Insecure - Mapping Tools and Source Code v1.3 - Mapping tools and source code for Half-Life: Insecure mod. Made specifically for the Steam version of Half-Life (v1.3).
- Half-Life Quick Mod Creation tool - Quick tool for creating Half-Life mods from scratch. Generates custom liblist.gam and folder structure.
- Half-Life to Quake 3 .MAP converter - A small utility for mappers to convert .map output from worldcraft 3.3 to quake3 format, and back.
- Half-Life Unified SDK Map Decompiler (Counter-Strike) - Powerful tool by SamVanheer for decompiling Half-Life 1 BSP version 29 and 30 files. Written in C# for better maintainability and source code accessibility. Also supports original Half-Life and Half-Life Alpha 0.52 BSP files. Features two decompilation strategies (tree-based and face-to-brush) and applies Nodraw texture.
- Keybinder Source Tool (Counter-Strike: Source) - Bilingual (English/German) tool for configuring Counter-Strike: Source. Create or customize config files, bind keys for faster buying, and adjust 30+ graphic settings via simple mouse clicks. Features expert mode and backup functionality.
- Jed's Half-Life Model Viewer 1.36 (Counter-Strike) - Model viewer with skin editor and pack viewer functionality for Half-Life models (v1.36).
- Xash studioMDL Goldsrc Large Model Compiler (Counter-Strike) - Large model compiler for Half-Life mods supporting models up to 16MB, 9x blending, $texrendermode command, and textures up to 1024x1023.
- Half-Life Studio Model Decompiler v1.2.1 (Win32, Linux, Mac) - Cross-platform Half-Life Studio Model decompiler (Windows, Linux, macOS). Similar to Kratisto's mdldec with improvements: detects texrendermodes, custom activities, Paranoia 2/PrimeXT features, fixed UV-coords and animations, Crowbar-like .qc output.
- Valve Batch Compile Tool - A map compiling manager bringing a breeze to mappers.
- XSI Valve Source Tools - Source engine plugin for Mod Tool 7.5/6 and 32-bit Softimage. Features SMD import/export for models/animations, VMF import/export for Hammer maps, weightmap import/export, skeleton tools, and sample rigs (Valve Biped).
- Wedge MDL Compiler (QC Generator) 1.0.1 - QC Generator and MDL Compiler for quickly creating QC files for model compilation. Russian language only (v1.0.1, registered version only).
- Windows Vista/7 Phoneme Extractor 1.3 - A Faceposer phoneme extractor that functions on Windows Vista and 7 (and provides better results than under XP) for Source 2007 and 2009.
- XSI Mod Tool 6.01 - A completely free version of the professional Softimage|XSI modelling package. Supports Source, CryEngine 2, Unreal Engine 3, XNA, Unity, and more.
Unity¶
- UABEANext - Research and modding tool for SerializedFiles and Asset Bundles.
- AssetStudio (Perfare) - Tool for exploring, extracting, and exporting assets and assetbundles (original version).
- AssetStudio (aelurum fork) - Actively maintained fork with UI optimization and enhancements.
- AssetStudio (zhangjiequan fork) - Continuation of Perfare's AssetStudio with support for new Unity versions and additional improvements.
- UABEA (Unity Asset Bundle Extractor Avalonia) - C# UABE for newer versions of Unity. Cross-platform Unity asset bundle and serialized file editor/extractor built with Avalonia.
- UnityExplorer - In-game UI for exploring, debugging, and modifying IL2CPP and Mono Unity games.
- Unity Asset Editor v0.2 (7 Days To Die) - Plugin-based asset editor, exporter, and importer for Unity Engine games. Can import and export assets in raw data format and be extended through plugins to support additional asset types (v0.2).
- Il2CppDumper - Unity IL2CPP reverse engineer tool for extracting IL2CPP metadata and converting IL2CPP binaries.
- Il2CppInspector - Powerful automated tool for reverse engineering Unity IL2CPP binaries. Outputs IL2CPP type definitions, metadata and method pointers as C# stub code, creates .NET assembly shim DLLs, and generates C++ scaffolding for all types, methods, function pointers and API functions.
- UnityPy - Python module that makes it possible to extract/unpack and edit Unity assets.
- AssetsTools.NET - Read and write Unity assets/bundle files, based on UABE.
- CC3Decrypt - Decrypts Unity asset bundle headers used by Chain Chronicle 3.
- Unity3DCompressor - Utility for compressing Unity asset bundles using LZ4 to reduce file size and improve load times.
- XUnity.AutoTranslator - Universal translation framework for Unity games. Supports automatic text translation with various translator backends and IL2CPP support.
- il2cpp-modder - Generate DLL injection templates for reverse engineering and modding Unity IL2CPP games. Automatically generates code for method hooks, field modifications, and implementation replacements without requiring manual pointer arithmetic.
- UtinyRipper - Extracts and exports Unity assets from serialized
.assetsfiles and AssetBundle files into Unity-importable project format. Supports a wide range of Unity versions. - Il2CppInspectorPlugins - Plugins for Il2CppInspector to inspect and reverse-engineer Unity game binaries and extract game data.
- Cpp2IL - Decompiler for Unity IL (Intermediate Language) code and assets.
- Asset Bundle Extractor (UABE) - Editor for .assets and AssetBundle files (archived; consider UABEA for active development).
- Texture2DDecoder - Decodes Unity Texture2D assets to standard image files; based on AssetStudio.
- TypeTreeDumps - Archive of Unity version struct layouts (type tree information) since version 3.4.0, essential for asset format understanding.
- UnityLive2DExtractor - Extracts Live2D Cubism 3 assets from Unity AssetBundles. Handles moc3 models, motion3 animations, physics3 configuration, and other Live2D format files.
- noclip.website (Unity) - From-scratch TypeScript/Rust reader for Unity SerializedFile and AssetBundle data. Reconstructs GameObject hierarchies, meshes, textures (including Crunch), and materials for in-browser rendering; drives the A Short Hike, Neon White, and Outer Wilds viewers.
- disunity - Early experimental Java command-line toolset for extracting and inspecting Unity asset and asset bundle files. Archived since 2018 and largely superseded by AssetStudio/UABEA, but historically significant.
- Beebyte-Deobfuscator - Plugin for Il2CppInspector that deobfuscates Beebyte-obfuscated IL2CPP type/member names in Unity game binaries.
- IL2CPP_Resolver - Runtime API resolver for IL2CPP-compiled Unity games, locating classes, methods, and fields from global-metadata at runtime.
- texture2ddecoder - Texture decoder library powering UnityPy's Texture2D asset decoding; distinct from KiruyaMomochi's Texture2DDecoder above. See also texture2ddecoder-rs, a pure Rust no-std rewrite.
- mikunyan - Scriptable Unity asset deserializer for Ruby.
- unity-texture-toolkit - PHP toolbox for exporting Texture2D assets and other data from Unity3D asset bundles.
Unreal Engine¶
Full Engine Reimplementations & Source Ports¶
- SurrealEngine - Reimplementation of the Unreal Engine 1 engine that reads original Unreal/Unreal Tournament package/map assets to make the games playable on modern systems.
- UnrealTournamentPatches - Community patch project for the original Unreal Tournament (1999) and Unreal (1998), maintaining and extending the original engine while reading the games' original asset formats.
Asset Parsers & Libraries¶
- pyUE4Parse - UE4 asset parser/reader in Python.
- UAssetGUI - GUI tool for viewing and editing Unreal Engine UAsset files.
- Unreal-Library - Library for reading and writing Unreal Engine file formats.
- UAssetAPI - Low-level .NET library for reading and writing Unreal Engine game assets.
- UEFormat - Library for working with Unreal Engine file formats.
- UEAssetToolkit - Toolkit for extracting and modifying Unreal Engine assets.
- CUE4Parse - C# Parser for UE archives.
- JsonAsAsset - Unreal Engine plugin to import assets from JSON data exported by FModel.
- UEAssetToolkitGenerator - UE asset extraction tool that converts compiled UE4 assets to JSON format.
- AssetTools - Converts UE .uasset and .umap files to JSON and back, supporting UE5 asset formats.
- ueformat-rust - Rust parser for UEFormat (.uemodel) meshes, converting UE4/5 extracted assets to STL format.
- JsonAsAsset - Unreal Engine asset reconstruction toolkit; an in-editor plugin that rebuilds engine assets (materials, data assets, curves, and more) from JSON dumps produced by CUE4Parse/FModel.
- uasset-rs - Rust library for parsing Unreal Engine asset (.uasset) files.
- binfold - Fast symbol-porting tool that matches and transfers large numbers of symbols between similar binaries (e.g. across UE game versions/builds) using pattern signatures.
- OodleUE - Automatically pulls and packages the latest Oodle Data compression SDK builds from Unreal Engine 5's private git repo, since RAD's Oodle libraries are otherwise difficult to obtain standalone.
- Core - Extension of JsonAsAsset's Reflection above that fetches referenced Unreal Engine assets automatically, hands-free.
Explorers, Viewers & PAK/IoStore Tools¶
- UEViewer (UModel) - Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer).
- Compatibility Table - Official compatibility list.
- repak - Unreal Engine .pak file library and CLI in Rust.
- UnrealExporter - Batch file exporter.
- Snooper - OpenGL based 3D viewer for cooked UE packages.
- FModel - Explorer and asset viewer for Unreal Engine archives, supporting UE4 and UE5.
- Formats: PAK, UTOC, UCAS (IoStore), UAsset, localization files.
- Features: Texture/mesh/audio preview, JSON export, map viewer with OpenGL renderer, diff between versions.
- Games: Fortnite, Valorant, PUBG, MultiVersus, Stray, GTA III/Vice City/San Andreas (Definitive Edition), and many other UE4/UE5 titles.
- Unreal Media Ripper (UMR) - Extracts media from Unreal UPKG files, supporting versions 63-85 with 64-bit and big-endian system support.
- CPakParser - High-performance UE5 PAK parser with Oodle decompression support and USMAP loading.
- UnrealPakViewer - Viewer and extractor for UE4 PAK archive files supporting decompression and batch extraction.
- UnrealPakTool - Extracts and lists .pak archive files from Unreal Engine 4 games (win64).
- rust-u4pak - Rust CLI to unpack, pack, list, check, and mount Unreal Engine 4 .pak archives.
- UnrealPakLoaderPlugin - Library simplifying runtime loading of Unreal Engine .pak files and their asset registries from within a UE project.
SDK & Structure Dumpers¶
- UE4Dumper - Tool for dumping Unreal Engine 4 assets and structures.
- UEVR - Universal Unreal Engine VR Mod. Powerful runtime reversing tool that provides an overlay for inspecting objects, classes, and properties in almost any UE4/5 game.
- Gibbed.Unreflect - Runtime reflection tool for Unreal Engine games, enabling datamining of Borderlands and other UE titles through binary structure analysis.
- UEDumper - UE 4.19-5.3 reverse engineering tool for dumping SDK, analyzing structures, and identifying memory offsets.
- UETools-GUI - Dumper-7 based GUI tool for rapid debugging and SDK extraction from Unreal Engine games.
- UnrealDumper-4.25 - Unreal Engine SDK and structure dumper for extracting runtime data from UE game binaries.
- AndUEDumper - Android UE4/5 dumper generating SDK and function scripts, supporting ARM64, ARM, x86, and x86_64 ABIs.
- Dumper-7 - Unreal Engine SDK generator supporting all UE4 and UE5 versions, dumping engine classes/structs/offsets from a running game via DLL injection; the de facto standard modern UE SDK dumper and basis for several other tools already listed (e.g. UETools-GUI).
Blueprint, UnrealScript & Shaders¶
- kismet-analyzer - Tools for analyzing and manipulating kismet bytecode in cooked Unreal Engine assets. Generates CFG graphs and class hierarchies from blueprint/kismet scripts.
- BPPseudoCodeGen - Generate C++ pseudo-code from parsed blueprint code.
- unhood - Decompiler for the UnrealEngine 3 version of UnrealScript. Tested with Unreal Tournament 3 and compatible with other UE3 games (Gears of War, Mass Effect, Mirror's Edge, etc.).
- UEShaderMapExtractor - Tool to extract and identify shaders from Unreal Engine material shadermaps.
- UE-Explorer - Package explorer and UnrealScript decompiler for classic Unreal Engine games, supporting
.upkand.ufiles (UE1–UE3). - kismet-debugger - Proof-of-concept debugger for stepping through kismet/blueprint bytecode in release-build Unreal Engine games (UE4SS mod).
Maps, Saves, Localization & Mappings¶
- Unreal-Mappings-Archive - Archive of Unreal Engine mapping files.
- UE4-AES-Key-Extracting-Guide - Guide for extracting AES encryption keys from Unreal Engine 4 games.
- uesave - Rust library for reading and writing Unreal Engine save files.
- stove - Cooked Unreal Engine map editor for viewing and modifying levels without original project files.
- UT4X-Converter - Converts Unreal Tournament maps between game versions (UT99/UT2004 → UT3/UT4 and UT4 → UT3).
- UnrealLocresEditor - GUI tool for editing Unreal localization resource (.locres) file format.
- UEFN-AES-Loader - DLL for applying AES encryption keys to decrypt encrypted UE game assets and data files.
- UnrealMappingsDumper - Generates .usmap mapping files for datamining UE4/5 game files.
- Unreal Save Dumper - CLI program to dump UE4/5 .sav save files to JSON, displaying versioning and engine information.
- t3d2map - Converts Unreal
.T3Dtext map documents to Quake's.MAPbrush format. - UnrealKeyr - Finds and validates AES-256 encryption keys in Unreal Engine 4 game binaries, .pak files, and IoStore containers.
Modding Frameworks & Toolkits¶
- UE-Modding-Tools - Databank of generic UE modding tools.
- unreal_auto_mod - Tools for managing Unreal Engine mod projects and automated building.
- UE_Modding - Comprehensive collection of guides and resources for modding Unreal Engine 4 and 5 games.
- UE.Toolkit - Modding toolkit for UE games with UObject/UDataTable inspection and editing via Reloaded II, runtime data modification.
- RE-UE4SS - Lua scripting system, SDK generator, blueprint mod loader, and live property editor for UE4/5 games.
- UE4-DDS-Tools - Texture modding tool for Unreal Engine games; injects and extracts DDS textures from .uasset/.uexp files without needing the original source project.
DCC Plugins & ActorX (Blender / 3ds Max)¶
- io_scene_psk_psa - Blender addon for importing and exporting PSK (skeletal mesh) and PSA (animation) formats used in Unreal Engine. Supports PSK/PSKX mesh import with vertex normals, extra UV channels, vertex colors, and shape keys.
- io_scene_ase - Blender exporter for the legacy ASE (ASCII Scene Export) format used by Unreal Engine 1 & 2 games (e.g., Unreal Tournament 2004).
- blender3d_import_psk_psa - Blender addon for importing PSK (skeletal mesh) and PSA (animation) formats from Unreal Engine.
- SkelEdit - Cross-platform PSK/PSKX/PSA (ActorX) skeletal mesh viewer with wxWidgets UI and OpenGL renderer.
- ActorX - Epic Games' ActorX plugin source code for Unreal skeletal animation format (PSK/PSA).
- blender_t3d - Blender import/export add-on for Unreal
.T3Dmap files.
Legacy Tools & Downloads (ModDB)¶
- ActorX Tools - The ActorX Tool is a plugin for various 3d creation packages allowing you to import skeletal meshes and animations in Unreal Engine games.
- ActorX Softimage Exporter - ActorX plugin for Softimage to export skeletal meshes and animations to binary formats for Unreal Editor import. Install by extracting to \Application\Plugins.
- Formats: .psk, .psa (skeletal meshes and animations), .ase (static meshes).
- U3D - Presently there are at least four other unreal model converters out there but as you may know, each one has it's own set of limitations that either make the conversion process a pain in the rear, or plug in to a specific version of 3D StudioMAX.
- Unreal to Deus Ex mesh converter - Converts Unreal/Unreal Tournament meshes to Deus Ex format. Enables use of Unreal export utilities (MilkShape 3D, 3ds2unr, etc.).
- DUT TOOL-2.0.2.0 (Unreal Tournament 3) - C# tool for creating Unreal Tournament 3 mods (v2.0.2.0).
- UEd Style Tools for Maya (Unreal Tournament) - Tool window for Maya providing UEd-style CSG tools and addressing common issues when building meshes/brushes for Unreal Editor maps. Handles size differences between Maya and UEd with fast controls.
- UShock - Unreal level viewer (Unreal Tournament) - Experimental Unreal level viewer for Unreal Engine games from Unreal 1 to UT2004 (tested: Unreal 1, UT99, WOT, Unreal 2, UT2003, UT2004). Loads dependent packages (textures, static meshes, etc.) and displays using OpenGL renderer.
- Unreal Unit Converter
- PS3 Mod Tools version 2.1 (Unreal Tournament 3) - Tools for publishing Unreal Tournament 3 modifications with PS3 support (v2.1).
- WOTgreal Package Exporter (Unreal Tournament) - Tool for viewing and exporting static (non-animated) textures, models, and sounds from Unreal Engine 1/2 games. Also decompiles UC scripts. Created by Dean Harmon.
- Advanced Model Support SDK (Unreal Tournament) - Documentation for Unreal Tournament modellers creating plugin player models with Advanced Model Support v102 or v110. Also for modellers and programmers working on larger mods using skeletal models and/or Advanced Model Support code.
- Blender 2.49 Scripts for UT2004 - Scripts with all PSA / PSK converters available IQM converter for use with noesis ASE export And other useful stuff
- February 2015 Unreal Development Kit (UDK) - Final version of the UDK by Epic (February 2015 release). Unreal Development Kit is the free edition of Unreal Engine 3.
- UnrealKey - Tool for automatically finding AES-256 decryption keys for Unreal Engine 4 encrypted pak files, by launching a game's executable and detecting the loading/decryption of encrypted paks.
CryEngine¶
- Far Cry 1 Noesis import plugin - Noesis plugin for importing Far Cry 1 models. Export from Noesis to CryEngine is not supported.
- Far Cry 1 3dsmax 9 plugin - 3DS Max 9 plugin for exporting Far Cry 1 models.
- CryEngine 2 3d archive - Archive of CryEngine 2 resources and files useful for creating modifications for Crysis and Crysis Wars.
- CryENGINE 2 Resources (Crysis) - Archive of CryEngine 2 resources and files useful for creating modifications for Crysis and Crysis Wars.
- CryEngine2 Archive (Crysis) - Archive of CryEngine 2 tutorials in browser-readable format for Crysis modding.
- Crysis Benchmarking Tool 1.05 - Robust front-end tool for benchmarking Crysis (v1.05).
- Cryengine Mod SDK 1.4 (Far Cry) - Official Far Cry 1 SDK released by Crytek (v1.4).
- Enhanced Gibbed Tools with Hash Decoder (Far Cry 2) - Modified version of Gibbed's Far Cry 2 tools by Wobatt with hash decoder functionality. Based on original tools by Rick (Gibbed) with additional enhancements. Not officially endorsed by original author.
- Far Cry 2 Mod Tools - Updated version of Far Cry 2 mod tools with additional features and improved compatibility.
- Far Cry 3 Mod Tools - Updated modding tools for Far Cry 3.
- FCMAP Tool v0.3B-0.5B (Far Cry) - 💙 FCMAP is the first automated tool in the world of Far Cry 1 mapping and modding, written by me in Python 3.
- FCMAP Tool v1.0 (Far Cry) - 💙 FCMAP is the first automated tool in the world of Far Cry 1 mapping and modding, written by me in Python 3.
- Cryengine-Converter - Converts CryEngine binary asset files to Collada (.dae) for import into Blender, Maya, and 3ds Max.
- Formats: .cgf (geometry), .chr (character), .skin (skinned mesh), .caf (animation), .dba (animation database), .cryxml (binary XML).
- Games: MechWarrior Online, ArcheAge, Hunt: Showdown, Star Citizen.
- DDS-Unsplitter - Reassembles CryEngine split .dds texture files (where a texture is stored as a base .dds plus one or more patch/mip sidecar files) back into a single usable .dds.
- OGPreyExplorer - All-in-one asset tool for Prey (2017): browses and extracts PAK archives, and converts .cgf/.skin model files to .dae and .glTF via Cryengine-Converter.
- 010-Templates - 010 Editor binary templates for CryEngine, Lumberyard, and Open 3D Engine asset files.
- Formats: .cgf, .chr, .skin (geometry/character/skinned mesh), .caf, .dba (animation), with a unified entry point that auto-detects CryTek / CrChF / Ivo variants.
- Games: MechWarrior Online, ArcheAge (CryTek format), Hunt: Showdown (CrChF), Star Citizen (Ivo).
- Far-Cry-1-Source-Full - Full source code for Far Cry 1 by Crytek — leaked non-commercial reference release for CryEngine 1, useful for understanding original CryEngine file formats and engine internals.
Dagor Engine¶
- Dagor Engine - Open-source release of the Dagor Engine (War Thunder, Enlisted) including parts of the toolchain.
- dagor-file-formats - Community reverse-engineering research and format templates for the Dagor Engine.
Fox Engine¶
- FtexTool - Fox Engine Texture (.ftex) to DDS converter.
- GzsTool - Fox Engine dat, fpk, fpkd, pftxs and sbp unpacker/repacker.
- FoxLib - Library for reading and writing Fox Engine file formats (lba, frt, fmtt, pcsp, fv2).
- FoxEngineLib - Library for parsing 3D formats used by the Fox Engine in Metal Gear Solid V.
- FoxKit - General-purpose Fox Engine data editor. Includes a Route Builder for AI routes (.frt).
- FvTwool - MGSV .fv2 editor.
- FoxTool - Fox Engine file format parsing and manipulation tool.
- FoxEngine.TranslationTool - Translation and modding tool for Fox Engine games, providing file format parsing and manipulation.
Hedgehog Engine¶
- HedgeLib - C++ library and collection of tools that aims to make modding games in the Sonic the Hedgehog franchise easier.
- Hedgehog Engine Blender I/O - WIP Blender add-on for Hedgehog Engine I/O including import/export and animation editing.
- RflTemplates - 010 Editor binary templates for Hedgehog Engine 2 RFL files.
- surfboard-templates - Templates for various versions of the SWIF file format used primarily in Hedgehog Engine games.
- HedgehogEngineReversing - BinSync project for Hedgehog Engine reversing.
- Shadow-the-Hedgehog-.BON-MTN-import-export-tool - Script for applying external properties from Shadow the Hedgehog .BON files to their respective bones in .DFF model files after importing with AAP's RWIO plugin for 3ds Max.
- SonicHeroesUTXEditor - UTX editor for Sonic Heroes.
Northlight Engine¶
- BlenderNorthlight - Blender plugin for loading binmsh/binfbx files from Northlight Engine games (Control, Alan Wake 2, Quantum Break).
- neat - Northlight Engine Archive Tool (supports Quantum Break, Control, Alan Wake 2).
- control-unpack - Extractors and converters for various Northlight file formats used in Control (rmdp, rmdl, texco, strings).
- NorthlightFontMaker - Tool for creating and editing custom bitmap fonts for the Northlight engine (*.binfnt).
- OpenAWE - Open source reimplementation of the Alan Wake Engine (later known as Northlight).
Pragma Engine¶
- io_pragma_engine - Blender plugin for importing and exporting Pragma Engine models.
Build Engine¶
- BUILD Map Importer - Blender add-on for importing BUILD maps (Blood, Duke Nukem 3D, etc.) that can auto-extract textures from
.ART,.GRP, and.RFFfiles. - Import options: split sectors/walls/sky, preserve sprite offsets, reuse materials, shade to vertex colors, and store original map data in custom properties.
- Build palette editing tools (Duke Nukem 3D) - Tools for manipulating and creating palettes for BUILD Engine games including Duke Nukem 3D. Work in progress.
- NBlood - Reverse-engineered source ports of Build engine games (Blood, Duke Nukem 3D, Redneck Rampage, Shadow Warrior, Exhumed, PowerSlave) based on EDuke32 engine technology.
- Blood-RE - Source code reconstruction of Blood, reading the original game's GRP/ART/MAP data.
- Raze - GZDoom-derived source port for Build engine games including Duke Nukem 3D, Blood, Shadow Warrior, Redneck Rampage, Exhumed/Powerslave and Ion Fury, reading each game's original GRP/RFF/ART assets.
- vanilla_duke3D - Mirror of Ken Silverman's original "Build" engine source release (GAME.EXE and companion tools), the DOS engine behind Duke Nukem 3D, Shadow Warrior, and Blood, reading the engine's native MAP/ART/GRP data.
- Blood: Fresh Supply Modding Guide - Documents loading persistent and loose mod files for Blood: Fresh Supply, including its RFF and KPF resource formats.
- Build286 - Port of Ken Silverman's Build Engine to 16-bit DOS PCs (e.g. 286 processors with VGA/MCGA graphics).
- buildengine - icculus.org's Linux/macOS port of Ken Silverman's Build Engine, the DOS engine behind Duke Nukem 3D, Shadow Warrior, and Blood, reading the engine's native MAP/ART/GRP data.
- Xtract (macOS port) - macOS-compatible port of Xtract, extracting art assets from Build engine GRP archive files (Duke Nukem 3D, Blood, and others).
- jftekwar - JonoF's Build engine port of Capstone Software's William Shatner's TekWar, reading the original game's ART/MAP/palette data. See also jfwhaven, his port of Capstone's Witchaven.
- jfbuild - JonoF's port of Ken Silverman's Build engine, reading the engine's native ART/MAP/GRP data. Depends on his jfaudiolib port of the AudioLib sound library used by Apogee games, and powers his jfduke3d and jfsw ports below.
Cobra Engine¶
- cobra-tools - Suite of GUI tools for extracting and modifying OVL and OVS archives, as well as editing associated file formats and models for the Cobra Engine (Frontier Developments).
3DSTATE¶
- 3DS MAX 5 and 3DS MAX 6 converter - Converts 3DS Max scenes to 3DSTATE WLD format, preserving lighting, shadows, and effects. Includes script for rendering to texture and converting to binary 3dstate format.
AtiSushi Engine¶
- AtiSushi - UniLoader plugin for importing AtiSushi engine files.
Genie Engine¶
- geniedoc - Documentation of Age of Empires II .dat files (Genie Engine formats).
Bruns Engine¶
- brunsdec - Decryptor for Bruns Engine encrypted assets (magic number
EENC), deriving a per-file XOR key from the file header to recover encrypted PNG images.
RPG Maker¶
- rgssad - Extract rgssad/rgss2a/rgss3a files from RPG Maker games.
- rpga - RPG archive extraction and creation utility. Can extract and create RPG Maker XP+ archives and Wolf RPG archives (though Wolf archive creation does not work yet).
- EasyRPG Player - Open-source interpreter that runs RPG Maker 2000/2003 games natively, reading their LCF data formats (LMU maps, LDB/LMT databases) via liblcf.
- liblcf - C++ library for reading and writing the LCF formats used by RPG Maker 2000/2003 and EasyRPG projects.
- mkxp - Open-source reimplementation of the Ruby Game Scripting System (RGSS) used by RPG Maker XP, VX, and VX Ace, running games natively by reading their RGSSAD/RGSS2A/RGSS3A archives. See also the more actively maintained mkxp-z fork.
- Luminol - Cross-platform RPG Maker XP/VX/VX Ace editor rewrite in Rust, reading the RGSS project data (rxdata/rvdata maps and databases).
- EasyRPG Editor - Qt6-based game editor for creating EasyRPG games; can import and edit existing RPG Maker 2000/2003 projects by reading/writing their LCF map and database files via liblcf.
- rmvdec - Decrypter for RPG Maker MV resource files (.rpgmvp, .rpgmvo, .rpgmvm).
- RGSS-Decryptor - Command-line decryptor for RGSS archives (RPG Maker XP/VX/VX Ace). See also Bioruebe's fork adding a Windows shell extension.
Ren'Py¶
Visual novel engine used in many indie and commercial visual novels.
- unrpa - Program to extract files from the RPA archive format used in Ren'Py visual novels.
BGI (Buriko General Interpreter)¶
Visual novel engine (Ethornell) used by many Japanese visual novels.
- openbgi - Open-source reimplementation of the Ethornell/BGI (Buriko General Interpreter) visual novel engine.
- BGI - Experimental reimplementation of the BGI (Buriko General Interpreter) visual novel engine: bytecode VM emulator (BGITool), opcode disassembler (BGIPiler) and tracer (BGITracer), and a resource viewer (BGIExplorer) for BGI's texture/bitmap formats.
- BGIKit - Script decoder and encoder for the Ethornell/BGI visual novel engine (archived).
RealLive¶
Visual novel engine used by Key (Clannad, Kanon, Little Busters!), Circus, and other Japanese publishers.
- rlvm - Open-source RealLive engine clone for Linux and macOS, reading original RealLive visual novel game data.
Kirikiri¶
Visual novel engine (KAG/TJS scripting) used by many Japanese visual novels.
- Xp3Viewer-AfterStory - Updated viewer for Kirikiri's XP3 archive format.
Glulx VM (Interactive Fiction)¶
Virtual machine format for parser-based interactive fiction, designed by Andrew Plotkin as a successor to the Z-machine; the standard compilation target for Inform 7.
- Quixe - Pure-JavaScript interpreter for the Glulx interactive-fiction virtual machine, playing .ulx/.gblorb game files directly in the browser with no server component.
- Glulxe - Reference interpreter for the Glulx virtual machine, written by its designer Andrew Plotkin.
- Git - Fast interpreter for the Glulx interactive-fiction virtual machine, playing .ulx/.gblorb game files; roughly 5x faster than Glulxe and about twice as fast as Frotz on equivalent Inform-compiled stories.
- IF Archive Specs - Official specification documents for the Glk display API, the Glulx virtual machine, and the Blorb resource-container format used by Z-machine/Glulx interactive fiction.
- Windows-Glulxe - Windows front-end for Andrew Plotkin's Glulxe reference interpreter combined with Windows Glk, playing Glulx .ulx/.gblorb game files.
- Zag - Actively maintained fork of Andrew Plotkin's Zag Glulx interpreter (Python), updated to support Glulx spec version 3; recommended over the original repo by its own author.
- mrifk - Decompiler and disassembler for the Glulx virtual machine, reconstructing readable Inform-6-style disassembly and source listings from compiled .ulx story files.
- if-decompiler - Decompiles Glulx story files back into C source code (Glulxtoc/IF-Decompiler), for recovering original game logic from compiled .ulx files.
- glulx-llvm - Experimental LLVM backend targeting the Glulx interactive-fiction virtual machine, allowing C and other LLVM-frontend languages to compile to Glulx .ulx bytecode.
- babel-tool - Reference implementation of the Treaty of Babel: a multi-format C API and CLI suite (babel, babel-get, babel-list, ifiction-aggregate, etc.) for extracting metadata/cover art from interactive-fiction story files, identifying their VM format and IFID, and bundling story files with metadata into the Blorb resource-container format.
Z-machine VM (Interactive Fiction)¶
Virtual machine format used by Infocom's parser-based text adventures (Zork, Enchanter, etc.) and still a common compilation target for modern works written in Inform 6/7; predecessor to Glulx.
- Inform 6 - Compiler for the Inform 6 language, producing Z-machine (.z3/.z5/.z8) story files and, as the code generator behind Inform 7, Glulx (.ulx) game files.
- Inform 7 - Core distribution of the Inform 7 natural-language interactive fiction authoring system, compiling through Inform 6 to Z-code or Glulx bytecode.
- Infocom Z-code Interpreters - Historical collection of Infocom's original Z-machine interpreters for 1980s home computers, mostly as 6502/Z-80 assembly source.
- ztools - Classic Infocom Z-machine toolkit (txd disassembler, infodump story-file dumper, and related utilities) for inspecting Z-code game files.
- Fizmo - C Z-machine interpreter for POSIX systems, playing Infocom and other Z-machine game files (all versions except 6). See also IosFizmo, an iOS port.
- Gnusto-Frotz-Tops20 - Port of the Frotz Z-machine interpreter to the TOPS-20 operating system, playing Infocom game files.
- zmach - Z-machine interpreter that dynamically recompiles Z-code (version 5 story files) to JavaScript.
- Viola - Z-Machine interpreter written in Python.
- Zorkduino - Z-machine interpreter for Arduino, playing classic Infocom Z-code games on a TV.
- Twisty - Text-adventure interpreter for Android, playing both Z-machine and Glulx game files.
- HugoJS - Online interpreter for Hugo, another parser-based interactive-fiction virtual-machine format, running compiled Hugo game files in the browser.
- Gargoyle - Cross-platform multi-format interactive-fiction player supporting Z-machine, Glulx, TADS, Hugo, and other IF virtual machine formats.
- ifvms.js - Suite of pure-JavaScript interactive-fiction virtual machine interpreters (Z-machine and Glulx) for browser-based play.
- Lectrote - Electron-based interactive fiction interpreter, playing Z-code and Glulx games.
- Windows Glk - Windows implementation of Andrew Plotkin's Glk display-API specification, used by many Z-code/Glulx interpreters.
- Glk API reference implementations - Reference implementations of Glk, the display API most Z-machine/Glulx interpreters use: CheapGlk (headless/minimal), GlkTerm (curses), RemGlk (remote-procedure-call/JSON), and XGlk (X11, unmaintained since 2000).
- Frotz - The original portable Frotz Z-machine interpreter core, written by Stefan Jokisch and extended by David Griffith since 1997; development moved from GitHub to GitLab, and it underlies many derivative interpreters (Windows-Frotz, Gnusto-Frotz-Tops20, etc.).
- Windows-Frotz - Windows front-end for the Frotz Z-machine interpreter core, playing Infocom and other Z-code game files on Windows.
- encrusted - Z-machine interpreter written in Rust for classic Infocom-era text adventures like Zork, compiling to WebAssembly for browser play.
- Parchment - The actively maintained successor to Andrew Plotkin's original Parchment web interactive-fiction player, running Z-machine and Glulx games in the browser via WASM-compiled interpreters (through the Emglken/Glk bridge).
- Fabularium - Multi-format interactive-fiction player for Android, bundling Z-machine, Glulx, Hugo, TADS, and other IF virtual-machine interpreters into a single app; the mobile counterpart to Gargoyle.
- Infocom Historical Source Archive - Leaked/preserved original ZIL (Zork Implementation Language) source code for most of Infocom's text-adventure catalog, each compiling to the original Z-machine (.z3/.z5) story-file format; includes several unreleased/unfinished titles.
- Games: Zork I, Zork II, Zork III (plus the 1977 mainframe original, Solid-Gold editions, and 1982/1987/1988 Sampler minizork variants), Zork Zero, Enchanter, Sorcerer, Spellbreaker, Deadline, Suspect, Suspended, Starcross, Infidel, The Witness, Ballyhoo, Border Zone, Bureaucracy, Cutthroats, Hollywood Hijinx, The Hitchhiker's Guide to the Galaxy (plus Solid-Gold edition), Journey, Leather Goddesses of Phobos (plus Gold edition), Moonmist, Nord and Bert Couldn't Make Head or Tail of It, Planetfall (plus Gold edition), Plundered Hearts, Seastalker, Sherlock: The Riddle of the Crown Jewels, James Clavell's Shogun, Stationfall, Trinity, Wishbringer (plus Gold edition), A Mind Forever Voyaging, Beyond Zork, Arthur: The Quest for Excalibur, The Lurking Horror, the 1984 Infocom Sampler, and unreleased/unfinished titles (Checkpoint, The Restaurant at the End of the Universe, a German-language Zork translation, James Cameron's The Abyss).
- mojozork - Simple Z-machine interpreter implemented in a single C file, with an experimental online-multiplayer mode for playing classic Infocom Z-code story files together.
- language-inform7 - Language grammar definition for Inform 7, the natural-language authoring system that compiles to Z-machine/Glulx story files.
- Discoggin - Discord bot that plays parser and choice-based interactive fiction directly in a Discord channel, supporting Z-code (.z1-.z8/.zblorb), Glulx (.ulx/.gblorb), Ink, and YarnSpinner game files, with persisted per-channel save sessions.
- Inform Mapper - Interactive web graphing application for Z-machine story files (.z1-.z8), parsing a game's object tree to visualize rooms, objects, and their parent/sibling/containment relations. The actively maintained successor to the author's own ZTree.
- zork-1978-01 - Source code for a January 1978 version of Zork, predating Infocom's founding; an early Z-machine-era snapshot of the game's development at MIT.
Magnetic Scrolls VM (Interactive Fiction)¶
Custom virtual machine format used by Magnetic Scrolls' text adventures (The Pawn, Guild of Thieves, Wonderland, etc.), a UK studio whose parser games rivaled Infocom's in the 1980s.
- Magnetic - Interpreter for the Magnetic Scrolls text-adventure games (1985-1991) by the UK studio of the same name, playing the original .mag story files; written by Niclas Karlsson with additional code by David Kinder.
AGT (Adventure Game Toolkit)¶
Text-adventure authoring system popular on Compuserve in the late 1980s; AGT games compile to a custom game-data format read by the AGiliTy interpreter.
- Windows AGiliTy - Windows port of Robert Masenten's AGiliTy interpreter for AGT (Adventure Game Toolkit) games, playing the original AGT game-data files.
Level 9 VM (Interactive Fiction)¶
Custom virtual machine format used by Level 9's text adventures (Snowball, Jewels of Darkness, etc.), a UK studio known for cramming ambitious parser games onto 8-bit cassette systems.
- Level9 - Interpreter for Level 9's text-adventure games, originally written by Glen Summers and extended by David Kinder, playing the original Level 9 game-data files.
- Level9-Public - Preservation archive of roughly 500 recovered Level 9 floppy disks (of about 1000 originally produced), dumped mainly via Atari ST emulation between 2021-2024; source material for reconstructing original Level 9 game-data files.
TADS VM (Interactive Fiction)¶
Text Adventure Development System, Michael J. Roberts' object-oriented interactive-fiction authoring system and its own bytecode format; a longtime rival to Inform, also playable through Gargoyle.
- tads-sources - Consolidated, easy-to-build source mirror of TADS 2, TADS 3, and HTML TADS, Michael J. Roberts' text-adventure authoring system and its own virtual-machine format.
- TADS2-html5 - Port of the TADS 2 interpreter to HTML5/WebAssembly, playing original .gam TADS 2 story files in the browser.
ADRIFT VM (Interactive Fiction)¶
Adventure Development & Runner Interactive Fiction Toolkit, a point-and-click-authored text-adventure format with its own closed-source runner/VM.
- FrankenDrift - Cross-platform, open-source frontend for the closed-source ADRIFT Runner, playing original .taf ADRIFT game files outside Windows.
- Starlane - C++ reimplementation of the ADRIFT 5 interactive-fiction engine, loading and playing original .taf ADRIFT game files with Qt, console, and Glk frontends outside the closed-source Windows runner.
Alan VM (Interactive Fiction)¶
Text-adventure authoring language designed by Thomas Nilsson, compiling to its own bytecode format read by the Alan interpreter.
- Alan - Official compiler and interpreter for the Alan interactive-fiction authoring language, playing the original Alan game-data format.
Twine (Interactive Fiction)¶
Hypertext/choice-based interactive fiction tool; Twine stories are HTML files embedding Twee-format passage data, run by a story-format-specific JavaScript runtime (Harlowe, SugarCube, Chapbook, etc.).
- twine-specs - Format specifications for Twine, covering the Twee passage-map format, the HTML story-archive format, and the story-format JavaScript API.
Yarn Spinner (Dialogue Middleware)¶
Engine-agnostic dialogue scripting system used by many indie and commercial games; Yarn scripts compile to a bytecode/JSON format executed at runtime.
- Yarn Spinner - Core compiler and engine-agnostic runtime for Yarn Spinner, compiling
.yarndialogue scripts to a bytecode/JSON format consumed by game engines (Unity, Godot, etc.). See also YSRun-Single, a single-turn GlkOte wrapper for running the compiled dialogue JSON from the command line.
Rawthrills G7 Engine¶
- G7Reader - Small utility to read Rawthrills G7 Engine archive files.
OpenSpace¶
- openspace-ps2-extractor - Extractor for OpenSpace PS2 archive files.
- BinarySerializer.OpenSpace - BinarySerializer extension library for serializing OpenSpace game formats.
LithTech Engine¶
Engine used in No One Lives Forever, F.E.A.R., Condemned, Blood 2, Shogo, and other Monolith games. See also Monolith Productions for game-specific tools.
- io_scene_jupex - Blender addon for importing LithTech Jupiter EX world/map files (.world). Supports games built on the Jupiter EX engine (F.E.A.R., Condemned, No One Lives Forever 2).
- io_scene_lithtech (haekb) - Blender addon for importing LithTech model and animation files. Supports ABC (LithTech 1/2 era, used in Blood 2, NOLF, Shogo) and LTB formats.
- See also Five-Damned-Dollarz's fork with additional model support.
- godot-abc-reader - Godot 3.2 importer for LithTech ABC model files used in Blood 2, No One Lives Forever, and Shogo.
- godot-dat-reader - Godot 3.2 importer for LithTech DAT world/level files.
- godot-dtx-reader - Godot 3.2 importer for LithTech DTX texture files used across LithTech 1/2/Jupiter engine games.
- io_scene_modl - Blender addon for importing and exporting .modl model files from LithTech Jupiter Engine games.
- lpsdecoder - Extracts and converts PS2 LithTech LPS archive format.
Adventure Game Studio (AGS)¶
- AGSUnpacker - Unpacker/packer for compiled Adventure Game Studio (AGS) 2.x–3.x game resources.
- Formats: executable (.exe), archives (.ags, .xxx), sprites (.spr), rooms (.crm), scripts (.scom3, .dta), translation files (.trs, .tra).
- Features: asset extraction, sprite unpack/repack, room background preview/replace, translation file generation and compilation, string injection from translation files.
- See also Ghidra-ReAGS for AGS script (scom3) decompilation via Ghidra.
- ags2_decomp - Matching decompilation of Adventure Game Studio 2.x runtime engine for reverse engineering and software preservation.
BioWare Aurora Engine¶
Used in Neverwinter Nights, Star Wars: Knights of the Old Republic, Jade Empire, and other BioWare titles.
- xoreos - Open-source reimplementation of BioWare's Aurora engine and its derivatives, targeting full portability of all Aurora-based games.
- Games: Neverwinter Nights, Neverwinter Nights 2, Knights of the Old Republic, KotOR II: The Sith Lords, Jade Empire, Sonic Chronicles: The Dark Brotherhood, The Witcher, Dragon Age: Origins, Dragon Age II.
- Status: resource management, many file format parsers, partial in-game graphics and area rendering (spectator mode) — gameplay not yet implemented.
Clickteam Fusion¶
- CTFAK2.0 - Decompiler and asset dumper for games built with Clickteam Fusion 2.5 (archived; superseded by CTFAK3). Reads MFA-like internal structures and outputs assets via a plugin system.
Dark Engine¶
Used in Thief: The Dark Project, Thief 2: The Metal Age, and System Shock 2 (Looking Glass Studios).
- de-specs - ImHex pattern files for parsing Dark Engine file formats used in Thief and System Shock 2.
- Formats: .MIS (mission), .GAM (game data), .COW (world geometry); further formats planned.
- openDarkEngine - Open-source multiplatform reimplementation of the Dark Engine, reading original Thief and System Shock 2 game data (level, mesh, and DAT resource formats).
- KCModelEditor - GUI tooling for browsing and editing Dark Engine model files, written in C# using the Godot engine.
- AngelLoader - Standalone fan mission loader/manager for the original Thief trilogy, System Shock 2, and The Dark Mod, installing and organizing Dark Engine FM archives (zip/7z) with readme/screenshot extraction and metadata handling.
- 7-Zip Speed Optimizer - Repackages Thief/System Shock 2/Dark Mod fan mission .7z archives so FM loaders (AngelLoader, FMSel) can scan them up to 70x faster, while retaining 7z's compression advantage.
SCI Engine (Sierra)¶
Sierra On-Line's Script Creation Interpreter, used in King's Quest, Space Quest, Police Quest, Leisure Suit Larry, Gabriel Knight, and many other Sierra titles.
- SCICompanion - Full-featured IDE for creating and editing Sierra SCI engine games (SCI0 through SCI1.1). Supports editing scripts, rooms, sounds, views, fonts, pics, cursors, messages, and palettes. Official site: scicompanion.com.
- FOSS SCI Drivers - From-scratch open-source drivers for Sierra's SCI (Creative Interpreter) engine, covering archive, audio, and editor support.
- SCI2AGI - Converts Sierra SCI engine resources (PIC, VIEW, and others) to the earlier AGI engine's format.
- NAGI - Reimplementation of Sierra's AGI (Adventure Game Interpreter) engine, parsing and executing original AGI game resource files.
SCUMM¶
LucasArts adventure game engine used in Monkey Island, Maniac Mansion, Day of the Tentacle, Fate of Atlantis, Sam & Max, and other classic titles.
- nutcracker - Tools for extracting and editing resources in SCUMM engine games (v5–v8 + HE variants).
- Features: extract/rebuild game resource archives, extract/inject text strings, extract/replace background and object images (including EGA), decompile game scripts to Windex-like syntax.
- Fonts: CHAR chunk fonts (v5–v7, HE) and NUT fonts (v7–v8) — extract as PNG, re-encode back.
- SMUSH: extract video frames, compress SMUSH videos (compatible with scummvm-tools).
- MMUCS - Modular environment for analysis, extraction, and visualization of SCUMM engine assets and legacy media formats.
UTAGE¶
Unity-based Japanese visual-novel/ADV plugin.
- utagedec - Decryptor for UTAGE visual novel engine encrypted assets (.utage), reversing the engine's modified XOR encryption scheme.
Adobe Flash (SWF)¶
- Ruffle - Flash Player emulator written in Rust that parses and executes SWF files and ActionScript bytecode, used to preserve and play thousands of Flash-based web games.
- rust-flash-lso - Rust parser/encoder for Adobe Flash Local Shared Object (.sol) save files and the underlying AMF0/AMF3 serialization formats used by Flash games.
- Swivel - Converts Adobe Flash SWF files to video, for archiving or sharing Flash-based games and animations.
Godot¶
- gdsdecomp - Godot reverse engineering toolkit for game file format recovery, GDScript bytecode decompilation, and PCK archive extraction (Godot 2.x, 3.x, 4.x).
HaxeFlixel¶
- flxanimate - Plays back Adobe Animate texture atlas exports (used widely by Friday Night Funkin' and its mods) in HaxeFlixel.
- BetterTextureAtlas - Adobe Animate extension that enhances Texture Atlas exports, extending the animation file format with extra data (blend modes, baked filters) for use by players like flxanimate.