https://github.com/alexz006/ue4ss-bootstrap
dwmapi.dll proxy that bootstraps and self-updates UE4SS (for G1R / UE5 games)
https://github.com/alexz006/ue4ss-bootstrap
auto-updater dll-proxy lua mod-loader modding scripting ue4 ue4ss ue5
Last synced: 5 days ago
JSON representation
dwmapi.dll proxy that bootstraps and self-updates UE4SS (for G1R / UE5 games)
- Host: GitHub
- URL: https://github.com/alexz006/ue4ss-bootstrap
- Owner: alexz006
- Created: 2026-06-19T17:34:44.000Z (9 days ago)
- Default Branch: main
- Last Pushed: 2026-06-19T20:23:16.000Z (9 days ago)
- Last Synced: 2026-06-19T21:13:17.448Z (9 days ago)
- Topics: auto-updater, dll-proxy, lua, mod-loader, modding, scripting, ue4, ue4ss, ue5
- Language: C
- Size: 115 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# UE4SS-Bootstrap (dwmapi.dll)
A `dwmapi.dll` proxy that installs UE4SS from scratch and keeps it updated before
the game loads it. It is a clone of the [RE-UE4SS](https://github.com/UE4SS-RE/RE-UE4SS) proxy (same 143 exports, forwarding,
`--disable-ue4ss` / `--ue4ss-path` / `override.txt`) plus an in-DLL installer/updater.
## Install
```
\Binaries\Win64\dwmapi.dll this proxy
\Binaries\Win64\ue4ss\updater.ini config
```
Launch the game; UE4SS is downloaded and installed/updated automatically.
## How it works
On `DLL_PROCESS_ATTACH`:
1. Load `System32\dwmapi.dll` and wire up the 143 export forwarders.
2. Honour `--disable-ue4ss` (forward only).
3. On a worker thread: read `ue4ss\updater.ini`, resolve the target release on
GitHub, and if needed download the `UE4SS_*.zip` asset, extract the selected
components into `ue4ss\`, then load `UE4SS.dll`. Failures are logged to
`ue4ss\updater.log`; the game still launches with the installed UE4SS.
## Config (`ue4ss\updater.ini`)
- `channel` — `stable` / `nightly` / `pinned` (+ `pinned_tag`).
- `[modules]` — allow-list of components to install; also synced to `Mods\mods.txt`
enable flags. A mod not listed is not installed.
- `overwrite_settings` / `overwrite_mods_txt` — overwrite existing config files
(otherwise written only when missing).
- `download_retries` — retry count for stalled/dropped downloads (with resume).
- `check_interval_days` — `0` checks every launch, `N` at most once per N days.
- `enabled = false` — disable the updater (pure proxy).
## Build
Requires Visual Studio 2022 (MSVC + MASM).
```
build.bat full build -> dist\dwmapi.dll
build.bat skeleton proxy only (no updater)
```
Build artifacts go to `%TEMP%\UE4SS-Bootstrap-build`; the DLL is copied to
`dist\dwmapi.dll` and the default config to `dist\ue4ss\updater.ini`.
## Layout
```
src\dllmain.cpp proxy + updater entry
src\proxy_exports.* export table / jump stubs (generated)
src\proxy_generated.inc mProcs[] + setup_functions() (generated)
src\updater.* config, GitHub API, download, extract, versioning
src\progress.* progress window
src\ini.hpp INI reader / writer
src\miniz.* vendored zip library (public domain)
tools\gen_proxy.py regenerates the export files from dwmapi.exports
config\updater.ini default config (shipped to dist\ue4ss\)
```