BepInEx-SlimVML_Loader icon

SlimVML Loader

(In)SlimVML loader for BepInEx. Small, simple and works on Windows and Linux out of the box.

Last updated 3 years ago
Total downloads 14450
Total rating 2 
Categories
Dependency string BepInEx-SlimVML_Loader-1.1.0
Dependants 7 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.700 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.700

README

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