UE4SS Documentation
repository·main·Indexed 25 days ago
https://github.com/ue4ss-re/re-ue4ssA Lua scripting system platform and C++ modding API for Unreal Engine 4 and 5 games. UE4SS provides tools for mod loading, property editing, and dumping utilities. It includes specialized components such as the EventViewerMod for capturing Unreal Engine call flows via ImGui and the Map Gen Editor BP for the UE4SS Map Dumper. The documentation covers installation, custom game configurations for titles like Abiotic Factor and The Outer Worlds 2, and detailed build instructions using CMake, MSVC, and xwin for cross-compilation.
What's inside UE4SS
- UE4SS provides an extended Lua API that builds upon the standard Lua libraries. This API allows for scripting within the Unreal Engine environment via UE4SS. As of version 4.0.0, the API is considered mostly complete.
Overview of EventViewerMod
mainEventViewerMod is a UE4SS C++ mod designed to capture Unreal Engine call flows and render them live using ImGui. It hooksProcessEvent,ProcessInternal, andProcessLocalScriptFunctionconcurrently. It uses a unified depth counter to maintain consistent indentation for nested and recursive call chains (e.g., PE → PI → PLSF).Explore UE4SS Features
mainUE4SS provides several core capabilities for Unreal Engine modding:
- Blueprint Modloading: Load and manage mods via Blueprints.
- Live Property Viewer and Editor: Inspect and modify object properties in real-time during gameplay.
- Dumpers: Tools for dumping engine data, objects, and SDK information.
Use TMap for key-value storage
mainTheTMapclass is a key-value container that inherits fromRemoteObject. It allows for efficient storage and retrieval of elements using unique keys.Use TSet for unordered collections
mainATSetis an unordered collection of unique elements. Because it is unordered, the iteration order is not guaranteed. Adding an element that already exists in the set will have no effect, asTSetdoes not allow duplicates.Compatibility status for Abiotic Factor
mainAbiotic Factor is a Blueprint-only game currently running on Unreal Engine 5.4.4.
Stability Warning: UE4SS is functional but considered unstable for this title. Users may experience crashes during the following actions:
- Returning to the main menu from a game session.
- Loading into a game session.
UE4SS is generally stable during active play sessions, though rare crashes may still occur.
Understand UE4SS Game Support (AOB only)
mainUE4SS provides out-of-the-box support for specific games by automatically finding Array of Bytes (AOBs) using Patternsleuth.
Important Limitations:
- Inclusion in the support list only means all required AOBs were successfully found.
- Finding AOBs does not guarantee full support; other technical issues may still prevent UE4SS from working correctly in those games.
- Support does not imply endorsement of UE4SS usage for those titles.
- Users are responsible for complying with the game's Terms of Service.
Use FAnsiString for ANSI-encoded text
mainFAnsiStringis an Unreal Engine string type using single-byte ANSI character encoding. It is suitable for ASCII-compatible text and interfacing with legacy systems or APIs that expect ANSI strings. For international text support, useFUtf8StringorFStringinstead.Use the UClass class
mainTheUClassclass represents a class type in Unreal Engine. It inherits fromUStruct.Install UE4SS via Manual Injection
mainManual injection is used when you want to use an external injector instead of proxy DLL injection.
- Download a basic or dev package.
- Delete
dwmapi.dllfrom the package. - Launch the game.
- Use your injector of choice to inject
UE4SS.dllinto the game process.
Apply code changes without restarting the game
mainYou can reload your Lua scripts without restarting the game using one of two methods:
- UE4SS GUI Console: Click the "Restart All Mods" button on the "Console" tab.
- Hot Reload: Enable
Hot reloadinUE4SS-settings.ini. Once enabled, you can use the assigned hotkey (default isCtrl+R) to reload mods.
Automate C++ Mod Development with UE4SS CPP Template
mainFor an automated workflow, use the UE4SS CPP Template. This template automates creating, building, and installing a mod.
When using the
new_mod_setup.batscript, it automatically checks out the latest release commit to ensure your mod is built against the correct ABI.Note: Changes to the build system affecting the template are pushed to the
devbranch and merged intomainduring new UE4SS releases to maintain synchronization.