UE4SS for Directive 8020
A patched UE4SS build adapted to Directive 8020 (Supermassive Games / Bandai Namco, May 2026; internal name SMG029UE5). Vanilla UE4SS crashes on this game’s customized UE5.5 fork; this release applies targeted source fixes and a tuned config to avoid known crash triggers.
What you get
– In-game developer console on `~` (engine cvars like r.ScreenPercentage, stat fps, showflag.*).
– UE4SS GUI overlay (Live View, Watches, Dumpers).
– Blueprint Mod Loader — drop `.pak` mods into Mods/BPModLoaderMod/ for auto-loading.
– Lua scripting API (hook UFunctions, watch properties, register console commands).
– Working dumpers: actor dump, static-mesh dump, and a C++ header generator (2,155 .hpp files for the BP class hierarchy).
– Reliable FName:ToString() from Lua (critical fix included).
Quick install
1. Open your game folder (usually …\Directive 8020\SMG029UE5\Binaries\Win64\).
2. Copy this archive’s Win64\ contents into that folder so dwmapi.dll sits next to Directive8020-Win64-Shipping.exe and a ue4ss\ subfolder is present.
3. Run tools\post_install.ps1 (Run with PowerShell) — this writes the required [/Script/Engine.InputSettings] block to Input.ini and marks it read-only.
4. Launch the game and press `~` to open the console.
To temporarily disable UE4SS, rename dwmapi.dll to dwmapi.dll.disabled and relaunch.
Working vs. not working
Works:
– `~` console accepts engine cvars and commands (r.*, showflag.*, stat).
– UE4SS GUI overlay and Dumpers panel.
– dump_object, summon, set, and other Lua-registered commands via the UE4SS GUI console (not the game’s `~` console).
– BPModLoaderMod auto-loading of .pak BP mods.
– Lua hooks and registered handlers (RegisterHook, RegisterConsoleCommandHandler, ExecuteInGameThread, RegisterLoadMapPostHook, etc.).
Doesn’t work / stripped:
– Epic-stripped Shipping commands (obj list, obj classes, obj refs).
– HookInitGameState (fails to install; niche).
– Some per-actor/per-frame tick hooks are disabled by default in this config (off unless needed).
Known limitations
– Build is game-version-specific (AOB signatures depend on exe layout). Built against Directive8020-Win64-Shipping.exe (233,990,656 bytes, build 2026-05-10). Patching may require a rebuild if the exe changes.
– Not verified on other Supermassive titles.
– post_install step required because the engine strips InputSettings unless Input.ini is read-only.
Patches applied (vs upstream UE4SS @ dd6777a)
– UObjectGlobals::StaticFindObject_InternalSlow — rewritten to iterate by leaf name with a unique-leaf fallback to avoid unsafe GetFullName/GetClassPrivate dereferences.
– UObjectGlobals::FindObject — added parent-match + unique-leaf fallback for nonstandard outer chains.
– UObject::GetPathName — removed GetClassPrivate-dependent delimiter detection; use outer-chain depth heuristic fallback.
– UObject::GetFullName — replaced class-prefix retrieval with a safe literal prefix to avoid unsafe GetClassPrivate calls.
– DefaultFNameToStringMethod changed to Conv_NameToString to avoid shallow FName->FString aliasing into the name pool (prevents heap/free canary failures). This is the most impactful change.
– ConsoleEnablerMod/Scripts/main.lua rewritten to construct UConsole without writing InputSettings.ConsoleKeys from Lua (avoids same FString-vs-pool canary issue); keybinds come from read-only Input.ini.
Why it’s needed
Supermassive’s engine forks changed root CDO outer chains and FName semantics. These patches avoid unsafe engine assumptions while preserving UE4SS address heuristics so scan-based offsets remain valid.
In-game `~` console limitation
The game’s UConsole only routes through IConsoleManager for cvars and does not go through UG ameViewportClient::ProcessConsoleExec (so Lua-registered commands like dump_object must be used via the UE4SS GUI console).
Building from source
Patches are in tools\source_patches\. To rebuild:
1. Clone upstream RE-UE4SS at commit dd6777a and update submodules.
2. Apply patches from tools\source_patches\.
3. CMake + Ninja build with MSVC 14.44+ (vcvarsall x64 -vcvars_ver=14.44).
4. Output: build_cmake_Game__Shipping__Win64\Game__Shipping__Win64\bin\UE4SS.dll.
Credits
– Upstream UE4SS — https://github.com/UE4SS-RE/RE-UE4SS (MIT)
– Patches, build, and config by Viscte
License
MIT (inherits upstream UE4SS).
Support / bug reports
– Discord: Marionett#2661
– For upstream UE4SS issues, use https://github.com/UE4SS-RE/RE-UE4SS/issues.
by