A minimal steam_api64.dll replacement that loads every dll dropped in a mods\ folder.
D2ModManager only loads mods, it does not add any gameplay functionality by itself.
You still need a client mod such as Sunrise or Sunrise AIO in yourmods\folder to actually do anything (give the game a local server to talk to, etc.). D2ModManager just lets you run that mod, plus any others, side by side.
The game loads this DLL believing it is the real Steam API. The first time the game calls
SteamAPI_Init, D2ModManager loads every .dll in mods\ and resolves the Steam API entry
points against whichever mod exports them. Every other Steam API export is a raw jmp straight
into the resolved mod's own code, so the mod sees the game's real caller exactly as if
D2ModManager were not there.
A console window opens on first launch and logs which mods were found, which one each Steam API entry point resolved to, and any mod that failed to load or is missing an export something needs.
destiny2.exe
bin\
x64\
steam_api64.dll <- D2ModManager - Main dll
mods\
Sunrise.dll <- your client mod, dropped in as-is
OtherMod.dll <- any other mod, loaded the same way
Other mods that don't export the full Steam API surface can still be dropped in mods\ alongside
one that does - they just won't be able to stand in as the primary Steam API provider themselves.
A list of mods known to work with D2ModManager is kept in verified_mods.md.
If you want to add a mod that you have created or just really like, please feel free to make a pull request and show proof of that mod working by sending screenshots.
Requires Visual Studio with the Desktop development with C++ workload, the v145 toolset, and the 10.0.26100 Windows SDK (installed alongside MASM support).
Open D2ModManager.sln and build Release|x64, or from the Developer PowerShell for VS 2026:
msbuild D2ModManager.sln /m /p:Configuration=Release /p:Platform=x64MIT - see LICENSE.