A plugin for BnS NEO that enables dynamic loading and hot-reloading of "datafile plugins" at runtime.
BnsPlugin_DatafilePluginloader acts as an additional plugin loader for BnS NEO, allowing you to load, update, and reload lightweight datafile hook plugins without restarting the game. For clarity, this layer is referred to as "datafile plugins" throughout this readme.
graph TD
D["BnS NEO Game"] --> C["pilao pluginloader<br />(winmm.dll)"]
C --> B["DatafilePluginloader<br />(this project, provides datamanager and ImGui setup)"]
B --> A["datafile plugins<br />(hot reloadable, can edit game data and extend gui)"]
- Hot-reloadable plugins: Add, update, or remove datafile plugins (DLLs) at runtime.
- Direct data hooks: Intercept the game's "find data" process for real-time data reading and modification.
- ImGui integration: Easily add custom configuration UIs for your plugins.
- No restart required: Reload all plugins instantly from the in-game UI.
- The DatafilePluginloader is a standard BnS plugin (DLL) that hooks into the game via the existing pilao pluginloader (
winmm.dll). - Datafile plugins can hook into the game's data table access, enabling on-the-fly data manipulation.
- The loader provides an ImGui-based UI for plugin configuration and management.
-
Install datafile pluginloader:
- Place
DatafilePluginloader.dllinto thepluginsfolder of your BnS NEO installation (whereBNSR.exeis located).
- Place
-
Create the plugin folder:
- In the same directory as
BNSR.exe, create a folder nameddatafilePlugins(next to the existingpluginsfolder).
- In the same directory as
-
Add your plugins:
- Place your datafile plugin DLLs into the
datafilePluginsfolder.
- Place your datafile plugin DLLs into the
-
In-game controls:
- Press
INSERTto open the settings UI. - Click
Reload all pluginsto refresh plugins without restarting the game.
- Press
- Demo GUI Example: See the
ExampleDatafilePluginproject. - Data Editing Example: See the
ArtifactDatafilePluginproject. - Animation Filter: See the BnsDatafilePlugin_AnimationRemover project.
- Item Swapping: See the BnsDatafilePlugin_ItemSwap project.
- Template: Build your own using the DatafilePluginTemplate project.
This project was created to explore the idea of a hot-reloadable datafile pluginloader with integrated GUI support. It is shared in the hope that others find it useful or inspiring.
