Nine Sols Example Mod

  1. Install BepInEx
  2. clone this repo (generate from this template, then update the .csproj
    1. Change <AssemblyName> to your mod name
    2. Make sure the <NineSolsPath> points to the installed game
  3. Download the NineSolsAPI.dll from https://github.com/nine-sols-modding/NineSolsAPI/releases/ and put it into BepInEx/plugins. The API provides utilities like toast messages, preloading objects etc.

When you build the project in your IDE, the resulting mod should automatically be copied into the BepInEx/scripts folder. Mods are usually loaded from the plugins directory, but with ScriptEngine you can reload a new version of the mod without restarting the game:

  1. download ScriptEngine from BepInEx.Debug and place it in BepInEx/plugins to enable hot reloading
    1. set LoadOnStart=true and EnableFileSystemWatcher=true in BepInEx/config/com.bepis.bepinex.scriptengine.cfg to hot reload without pressing F6

When you build the project in your IDE (e.g. Rider) the mod should be built and automatically copied to path/to/game/BepInEx/scripts/YourMod.dll, triggering a reload from the scriptengine.

For the final distribution without ScriptEngine place the .dll in BepInEx/plugins/ instead.

The log file can be viewed in BepInEx/LogOutput.log.