GamePlug is a powerful, multi-API interception framework designed for modders. It provides a unified plugin system to inject custom ImGui UIs and game logic across Vulkan, DirectX 9, DirectX 10, DirectX 11, and DirectX 12.
- Multi-API Support: One framework to rule them all. Works seamlessly with Vulkan, D3D9, D3D10, D3D11 and D3D12.
- Unified Plugin System: Build plugins once using a clean C++ interface. No need to worry about the underlying rendering backend.
- ImGui Integration: Full support for Dear ImGui overlays with shared context between the host and plugins.
- Cross-Architecture: Supports both x32 (Legacy/DXVK titles) and x64 (Modern titles).
- Plugin Development Guide - Learn how to build your own plugins.
- Plugin Usage Guide - How to install and manage plugins.
- Games Compatibility List - Supported games and their compatible layers.
- Changelog - Track recent changes and updates.
GamePlug supports both x32 (x86) and x64 builds. x32 is often the primary target for older games utilizing DXVK.
- CMake (v3.20+)
- Visual Studio 2026 with C++ Desktop Development
cmake -B build32 -A Win32
cmake --build build32 --config Releasecmake -B build64 -A x64
cmake --build build64 --config Releasevklayer.dll: The Vulkan interception layer.VK_LAYER_GAMEPLUG.json: The manifest file for Vulkan.dinput8.dll: The proxy loader to automatically set up the Vulkan layer environment.version.dll: An alternative proxy loader to automatically set up the Vulkan layer environment.
dinput8.dll: The universal drop-in proxy for all DirectX games (DX9, DX10, DX11 & DX12).version.dll: Backend-specific alternative proxy files (for D3D9, D3D10, D3D11, and D3D12) if a game does not load or supportdinput8.dll.
Vulkan uses a layer system, which we automate using proxy DLL loaders.
- Place
vklayer.dll,VK_LAYER_GAMEPLUG.json, and eitherdinput8.dllorversion.dllin the game's executable directory. - Launch the game normally.
Manual Method:
- Place
vklayer.dllandVK_LAYER_GAMEPLUG.jsonin a folder. - Set
VK_LAYER_PATHto that folder andVK_INSTANCE_LAYERStoVK_LAYER_GAMEPLUG.
DirectX integration is simpler and uses a proxy DLL in the game's executable directory.
- Copy
dinput8.dllinto the game's executable directory. - Launch the game normally.
If a game is incompatible with dinput8.dll or fails to load it:
- Copy the appropriate
version.dllfrom the corresponding backend build folder (d3d9,d3d10,d3d11, ord3d12) into the game's executable directory. - Launch the game normally.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines on how to report bugs, suggest features, and submit pull requests. All contributors are expected to follow our Code of Conduct.
This project is licensed under the MIT License - see the LICENSE file for details.