The Payday 2 Better Lua injecTor (BLT), is a Lua hook for the game PAYDAY 2 by OVERKILL Software. It allows players to inject code into the game’s scripting engine at runtime and run their own code. This allows players to make mods for the game that go beyond swapping models and textures. The BLT was created by myself, Timothy Clissold, and Will Donohoe.
The Payday 2 BLT source code is available on GitHub.
The Payday 2 BLT is comprised of two separate parts, the injector DLL and Lua boilerplate code, with a third website component, the online mod manager. The DLL and Lua code are downloaded by players wishing to mod their game, whereas the mod manager is used by mod developers to release new versions of their mods which are automatically downloaded by all players using the BLT, who have the mod installed.
The Payday 2 BLT
The BLT DLL is the injector that allows us to run code in Payday 2. The DLL hooks into the game’s Lua engine and runs a set file in the Lua base code which then sets up the BLT, injects itself into the game’s menus, and loads all installed mods.
The Lua base code is a collection of helper scripts and utilities that manages and loads the mods installed by players, and allows players to enable and disable mods from their ingame menus, without ever having to leave the game. It also manages updates received from the online server, which allows players to keep their mods up-to-date without having to leave the game and manually install anything.