One native UI host. Multiple client mods. A menu that belongs in Elden Ring.
Download · Nexus Mods · Documentation · Build your first mod · Examples
ERNativeUI lets mod authors add settings and interactions directly to Elden
Ring's native interface. One process-wide ERNativeUI.dll owns the game hooks
and merges content registered by multiple client mods through a stable C ABI
or a friendly header-only C++17 wrapper.
This is not an ImGui or DirectX overlay. ERNativeUI uses Elden Ring's own controls, pages, dialogs, focus, help text, transitions, controller input, mouse input, and Back stack.
ERNativeUI is a Windows x64 mod for offline play with Easy Anti-Cheat disabled. Native integration is game-version-sensitive; use a release that explicitly supports the installed Elden Ring executable.
- Native by design: menus look and behave like part of Elden Ring.
- One shared host: several mods can contribute content without each one installing a competing set of UI hooks.
- A compiler-friendly SDK: strict C11 ABI, header-only C++17 wrapper, and no client import library or shared STL ownership.
- More than settings rows: built-in pages, submenus, pagination, dialogs, localization, input bindings, and provider storage share one system.
- Fail-safe native integration: signatures and object boundaries are validated instead of assuming that an old address is still correct.
- Open and reproducible: the implementation, API, tests, GFX tooling, and reverse-engineering research are available to the community.
Every control below has a focused guide with a minimal example, complete options, screenshots, and links to its native implementation research.
![]() Button Trigger a client-mod action. |
![]() Submenu Organize settings in native child pages. |
![]() Toggle Expose a native on/off setting. |
![]() Slider Adjust a bounded numeric value. |
![]() Inline choice Cycle through named options in place. |
![]() Popup choice Select an option from a native list. |
![]() TextInput Edit text with a placeholder and configurable limit. |
![]() ColorPicker Choose a color with native palette and RGB editors. |
- Add ordinary rows to supported built-in Configuration pages, including Game Options, Camera Options, Display, Sound, Network, Keyboard/Mouse, and Graphics. Learn about menus and pages.
- Build nested submenus while ERNativeUI handles capacity, pagination, titles, Next, Previous, and the native Back stack.
- Queue native modal dialogs with configurable button combinations and bottom or centered placement. Learn about dialogs.
- Register controller, keyboard, and mouse actions that players can reassign in Elden Ring's binding screens. Learn about input bindings.
- Follow the selected game language while preserving unknown Steam language identifiers for future locales. Learn about localization.
- Load, mutate, and explicitly save provider-owned configuration, or use the header-only input-assignment codec with another storage system. Learn about storage.
- Optionally install reproducible GFX presentation patches for expanded page capacity and enhanced TextInput and ColorPicker presentation. Learn about GFX presentation.
The complete supported surface, minimum API versions, capabilities, and limits live in the feature matrix.
Download ERNativeUI from Nexus Mods or GitHub Releases, then follow the player installation guide. Install one canonical host and load it before ordinary ERNativeUI client mods.
The GitHub Windows package contains the host, public headers, CMake package,
examples, tools, and documentation. Client mods need only erui.h, or
erui.h plus ERNativeUI.hpp; they do not link an ERNativeUI import library.
- Install the SDK.
- Build “Hello, Tarnished!”.
- Continue from the commented template or browse the buildable examples.
MSVC, clang-cl, and MinGW-w64 client mods can use the same stable host ABI.
- Windows x64, offline play, and Easy Anti-Cheat disabled are required.
- Mod Engine 2 is the primary supported loader.
- Load exactly one
ERNativeUI.dllfor all client mods. - Use a release that names the installed Elden Ring executable after every game update.
- Solid Uncapper coexistence has a documented load order and tested matrix.
- Seamless Co-op 2.0.1 was live-tested with the Elden Ring 2.7.0.0 reference executable, with no incompatibility observed for that exact combination.
- Shadow of the Erdtree remains explicitly unverified until its live matrix is completed.
- Host and committed client DLLs must remain loaded until process exit.
See Game and mod compatibility for exact tested versions, optional GFX conflicts, Solid Uncapper setup, and useful bug reports.
| I want to... | Start here |
|---|---|
| Install ERNativeUI as a player | Player installation |
| Create my first client mod | Getting started |
| Add menus, controls, dialogs, bindings, or localization | Mod-author guides |
| Check supported features and exact API contracts | Feature matrix · API reference |
| Understand the host/client architecture | How ERNativeUI works |
| Reproduce the native UI research | Research library |
| Build, test, contribute, or publish | Contributing · Release guide |
The documentation home provides the complete reader-oriented index.
ERNativeUI release versions and ERUI public API versions are independent.
Within a compatible 1.x host line, earlier published 1.x APIs remain
available, so a client built with API 1.0 continues to work with a compatible
newer 1.x host. A future host major may drop earlier-major APIs unless its
release explicitly preserves them.
Read Versioning, the changelog, and the API migration guides before declaring a client dependency.
ERNativeUI is my first mod. It is released under the MIT License: you may use, modify, redistribute, fork, or improve it while preserving the license terms and copyright notice.
Bug reports, compatibility updates, documentation improvements, examples, and carefully validated native-interface research are welcome. Read the contribution guide or open a GitHub issue.



















