A DirectX 12 hook implementation using ImGui and Kiero. This project allows you to inject custom ImGui interfaces into DirectX 12 applications.
- DirectX 12 Hook implementation
- ImGui integration through Kiero
- Resizable window support
- Fullscreen support
- Minimal performance impact
- Doesn't crash when injected instantly (before window is created)
- Windows 10/11
- Visual Studio 2019/2022 or VSCode
- DirectX SDK
- CMake 3.15 or higher
- Git
-
Install the following extensions:
-
Clone the repository with submodules:
git clone --recurse-submodules https://github.com/chadlrnsn/ImGui-DirectX-12-Kiero-Hook
cd ImGui-DirectX-12-Kiero-Hook-
Open the project in VSCode and select a kit using CMake Tools:
Visual Studio Build Tools 2019 Release - amd64Visual Studio Build Tools 2022 Release - amd64Clang 16.0.0 x86_64-pc-windows-msvc
-
Select build variant (Debug/Release) and build using CMake Tools
- Clone the repository as shown above
- Build using presets:
# For VS2019 Release
cmake --preset windows-x64-release-2019
cmake --build --preset windows-x64-release-2019
# For VS2019 Debug
cmake --preset windows-x64-debug-2019
cmake --build --preset windows-x64-debug-2019
# For VS2022 Release
cmake --preset windows-x64-release-2022
cmake --build --preset windows-x64-release-2022
# For VS2022 Debug
cmake --preset windows-x64-debug-2022
cmake --build --preset windows-x64-debug-2022The DLL will be in the bin/{Debug|Release} directory.
[!NOTE] Only x64 builds are supported due to DirectX 12 limitations.
- Debug builds with debug layers enabled might crash
- Minor flickering may occur
- Menu freezes when switching to fullscreen (Alt+Enter) while menu is open
This project uses:
- Kiero for function hooking
- Dear ImGui for the user interface
- MinHook for API hooking
Feel free to submit issues and pull requests.