SlimVML Loader
(In)SlimVML loader for BepInEx. Small, simple and works on Windows and Linux out of the box.
About this mod Author’s original text
Basic DLL loader with (In)SlimVML compatibility
Native loader for BepInEx that naïvely loads DLLs from a given directory and executes their static void Main() methods.
Supports a few additional SlimVML env vars for compatibility.
Includes two base DLLs that come with (In)SlimVML for compatibility.
Features
- Small: only a basic BepInEx patcher that does one job.
- Native BepInEx patcher: does not require proprietrary closed-source edits to Doorstop to work.
- Supports BepInEx platforms: works on Windows and Linux out of the box.
- No need to overwrite game files: unstripping is done automatically by BepInEx without the need to mess with game files.
Usage
- Install BepInExPack 5.4.700 or newer.
- Download and extract the contets of this DLL into the game folder.
- Run the game.
Installing SlimVML DLLs
To install SlimVML DLLs, put them into BepInEx/SlimVML folder. This folder is configurable via BepInEx/config/SlimVML.cfg.
This path was chosed for compatibility with r2modman. It is suggested you use it for mod management.
Note about developing plugins
If you develop plugins with SlimVML, please understand that you don't get stable load ordering, simple logging and configuration APIs that are
compatible with visual tools like ConfigurationManager and easy consistent entrypoint into Unity scenes.
If you need proper plugin management and support consider writing a normal BepInEx plugin.
There is even a template to get you started.
If you do use SlimVML, at least don't use Thread.Sleep to get into a Unity scene: it is not consistent and will break depending on the PC and once the game load times increase (does happen over time once more features are added).
Use Harmony patches or BepInEx plugins for which this is handled automatically.
Changelog
1.1.0
- Added ability to use $(BepInExRoot) and $(GameRoot) template values in ModFolder configuration option
1.0.1
- Added missing helper DLLs
1.0.0
- Initial release
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: