bbepis-BepInExPack icon


Unified BepInEx all-in-one modding pack - plugin framework, detour library

Last updated 6 months ago
Total downloads 3279114
Total rating 342 
Categories Mods Libraries
Dependency string bbepis-BepInExPack-5.4.2113
Dependants 3576 other mods depend on this mod

This mod requires the following mods to function

RiskofThunder-BepInEx_GUI-3.0.1 icon

Graphical User Interface meant to replace the regular console host that is used by BepInEx when the config setting is enabled.

Preferred version: 3.0.1
RiskofThunder-FixPluginTypesSerialization-1.0.3 icon

Fix custom Serializable structs and such not properly getting deserialized by Unity.

Preferred version: 1.0.3
RiskofThunder-RoR2BepInExPack-1.9.0 icon

Simplify the modding ecosystem of Risk of Rain 2, making it easier for modders to create and maintain their mods while preventing harmful bugs.

Preferred version: 1.9.0


BepInEx Framework

This is the pack of all the things you need to both start using mods, and start making mods using the BepInEx framework.

To install, extract contents of the inner BepInExPack to the gamefolder, such that the winhttp.dll file sits right next to RiskOfRain2.exe.

The zip looks like:

\BepInExPack    <----- move the contents of this folder

What each folder is for:

  • BepInEx/plugins - This is where normal mods/plugins are placed to be loaded. If a mod is just a NAME.dll file, it probably goes in here. For your own organisation, consider putting them inside folders, eg: plugins/ActualRain/ActualRain.dll

  • BepInEx/patchers - These are more advanced types of plugins that need to access Mono.Cecil to edit .dll files during runtime. Only copy paste your mods here if the author tells you to.

  • BepInEx/config - If your plugin has support for configuration, you can find the config file here to edit it.

  • BepInEx/core - Core BepInEx .dll files, you'll usually never want to touch these files (unless you're updating manually)

What is included in this pack

Doorstop 4

This is what loads BepInEx.

BepInEx 5.4

This is what loads all of your plugins/mods.

Customized BepInEx configuration

BepInEx config customized for use with RoR2.


Graphical User Interface meant to replace the regular console host that is used by BepInEx when the config setting is enabled.


Enables custom Serializable struct stored in plugin assemblies to be correctly deserialized by the Unity engine's Deserializer.


Provides fixes that makes it easier for modders to create and maintain their mods while preventing harmful bugs.

Writing your own mods

There's 2 documentation pages available:

Places to talk:

BepInEx contains helper libraries like MonoMod.RuntimeDetour and HarmonyX


Available in the file


  • 5.4.2113

    • RoR2 BepInExPack specific changes :
      • BepInEx.GUI: Ensure remaining old dll in the patchers folder doesn't get loaded by BepInEx Preloader.
  • 5.4.2112

    • RoR2 BepInExPack specific changes :
      • The thunderstore BepInExPack package no longer directly hosts the two BepInEx patchers, BepInEx.GUI and FixPluginTypesSerialization, and the RoR2BepInExPack plugin, instead, the thunderstore package now has them as dependencies in the thunderstore package manifest.
  • 5.4.2111

    • RoR2 BepInExPack specific changes :
      • Fix the difficulty coefficient not being called at the start of a Run, causing the cost of chests to be incorrect for the first stage when resetting a run or in multiplayer.
  • 5.4.2110

    • RoR2 BepInExPack specific changes :
      • Log all hook to the log file, this was previously done by R2API but made debugging harder in some cases where R2API was either initializing too late or for mods that wasn't depending on R2API.
      • Add additional event to SaferAchievementManager AchievementAttribute collector for mod creators to run custom logic.
  • 5.4.2109

    • RoR2 BepInExPack specific changes :
      • Fix a softlock related to Artifact of Metamorphosis with custom survivors that are locked behind custom expansions.
      • Remove an unnecessary vanilla log line whenever expose is applied via the damage type.
      • Fix NonLethal damage still killing when you have 1 max hp.
  • 5.4.2108

    • RoR2 BepInExPack specific changes :
      • Add another config for BepInEx only meant to be modified by core maintainers / developers when the game updates. (Should fix some issues that some users have of BepInEx not loading any mods)
  • 5.4.2107

    • RoR2 BepInExPack specific changes :
      • Fix another potential crash due to the ConVar change introduced on the previous BepInExPack update.
      • Fix WWise crash for dedicated servers.
  • 5.4.2106

    • RoR2 BepInExPack specific changes :
      • Fix potential crash due to the ConVar change introduced on the previous BepInExPack update.
  • 5.4.2105

    • RoR2 BepInExPack specific changes :
      • Mod developers can now simply use [assembly: HG.Reflection.SearchableAttribute.OptInAttribute] for adding ConVar to their mods without having to use R2API.CommandHelper modules or similar methods.
      • The ProjectileCatalog logs an error if more than 256 projectiles are registered, despite the actual limit being much higher. The console log for that "fake warning" is now gone.
  • 5.4.2104

    • RoR2 BepInExPack specific changes :
      • Swap to doorstop 4, this should make debugging mods for mod developers much easier.
      • Default values for the BepInEx.cfg file are now RoR2 specific, meaning that even if an user deletes the config file by mistake BepInEx will still work correctly.
  • 5.4.2103

    • RoR2 BepInExPack specific changes :
      • Fix for DynamicBones log spam.
      • Fix for log spam on some deaths.
  • 5.4.2102

    • RoR2 BepInExPack specific changes :
      • Fix FixPluginTypesSerialization sometimes making the game crash on exit.
      • Fix Copy Log File button in the BepInEx GUI not working correctly.
  • 5.4.2101

    • RoR2 BepInExPack specific changes :
      • Remove the console dev check in the BepInEx.GUI, replaced by a disclaimer instead: If you want #tech-support in the modding discord, please use the "Copy Log to Clipboard" button and then paste it in the discord channel.
  • 5.4.2100

    • Updated BepInEx to 5.4.21
    • RoR2 BepInExPack specific changes :
      • New BepInEx GUI, it should fix some performance issues the old one had + the .zip is now much smaller, you can still go back to the old console by setting to true the Enables showing a console for log output option in the BepInEx/config/BepInEx.cfg file
      • Thunderstore Mod Manifests if available are printed in the log file to allow for better debugging.
      • FixPluginTypesSerialization patcher is now shipped by default
      • The RoR2BepInExPack (v1.1.0) plugin now contains a mod compatibility fix for when multiple corruption (void items) targets for an item are present, a config is available to determine which gets the new stack:
        • Random -> (Default Option) picks randomly
        • First -> Oldest Target Picked Up
        • Last -> Newest Target Picked Up
        • Rarest -> Rarest Target Picked Up (falls back to Newest on ambiguity)
        • Alternate -> All targets get a turn in acquisition order
  • 5.4.1905

    • RoR2 BepInExPack specific changes :
      • Fix achievements not working correctly. For real this time.
  • 5.4.1904

    • RoR2 BepInExPack specific changes :
      • Fix achievements not working correctly
  • 5.4.1903

    • RoR2 BepInExPack specific changes :
      • Fix the BepInEx GUI sometimes not being visible at all / full white
  • 5.4.1902

    • RoR2 BepInExPack specific changes :
      • Plugin Entrypoint is now at RoR2.FlashWindow..ctor
  • 5.4.1901

    • RoR2 BepInExPack specific changes :
      • HideAndDontSave set back to false in config
      • Plugin Entrypoint is now at RoR2.RoR2Application.Awake
  • 5.4.1900

    • Added basic fix for cases where games try to ship their own Harmony
    • Updated HarmonyX to 2.9.0
    • Updated MonoMod to
    • RoR2 BepInExPack specific changes :
      • Added BepInEx.GUI which replace the default console (you can disable it in the settings)
      • HideAndDontSave set to true in config
      • Add a plugin which detour old Resources.Call to Addressable equivalent
  • 5.4.1801

    • Updated MonoMod to, fixing problems in some Unity environments (wine)
  • 5.4.18

    • Fixed some console messages being cut off (especially if using non-ASCII characters)
    • Updated HarmonyX to 2.7.0
    • Updated MonoMod to
  • 5.4.17

    • Fixed console not opening in Outer Wilds and other games that ship custom user32.dll
  • 5.4.16

    • Fixed when DumpAssemblies is enabled, dumped assemblies are now put to BepInEx/DumpedAssemblies/<ProcessName>. If assembly is in use (e.g. multiple game processes open), dumped assemblies will have a number postfix.
    • Game executable timestamp is not included in console title now (fixes issue with some window managers)
    • Updated HarmonyX to 2.5.5
    • Updated MonoMod.RuntimeDetour to
  • 5.4.15

    • Update HarmonyX to 2.5.4
    • Update MonoMod to
  • 5.4.14

    • Update HarmonyX to 2.5.3
    • Update MonoMod to
  • 5.4.13

    • Update HarmonyX to 2.5.2
      • Fixes an issue that prevented BepInEx from launching on certain games
  • 5.4.12

    • Log executable timestamp in preloader logs
    • Fix BepInEx *nix launch script
      • Add support for the new Steam bootstrapper
      • Add experimental fix for resolving symlinks
    • Update Doorstop to
    • Fix crash in paths with non-ASCII characters
    • Experimental fix for HarmonyXInterop not working sometimes on first game launch
    • Update HarmonyX to 2.5.1
  • 5.4.11

    • Update Bepin GOs to use HideAndDontSave flags
      • Disable setting BepInEx manager to HideAndDontSave by default
      • New config option: [Chainloader].HideManagerGameObject which enables HideAndDontSave for manager GameObjects
    • Fix ChainLoader.HasBepinPlugins returning false when inheriting from class from another Assembly
  • 5.4.10

    • Updated HarmonyX to 2.4.2
    • Updated UnityDoorstop.Unix to
    • Marked BepInEx plugin manager and ThreadingHelper GameObjects with HideAndDontSave flag to prevent it from being destroyed in some games
    • Converted configuration files to always use UTF-8 without BOM
    • Fixed headless mode check throwing an exception in some games

Available versions

Please note that the install buttons only work if you have compatible client software installed, such as the Thunderstore Mod Manager. Otherwise use the zip download links instead.

Upload date Version number Downloads Download link  
2023-6-6 5.4.2113 672920 Version 5.4.2113 Install
2023-5-30 5.4.2112 48407 Version 5.4.2112 Install
2023-5-20 5.4.2111 64212 Version 5.4.2111 Install
2023-5-14 5.4.2110 43057 Version 5.4.2110 Install
2023-5-3 5.4.2109 73956 Version 5.4.2109 Install
2023-4-16 5.4.2108 102731 Version 5.4.2108 Install
2023-4-14 5.4.2107 24744 Version 5.4.2107 Install
2023-4-13 5.4.2106 16094 Version 5.4.2106 Install
2023-4-13 5.4.2105 8446 Version 5.4.2105 Install
2023-4-11 5.4.2104 16213 Version 5.4.2104 Install
2022-10-1 5.4.2103 344499 Version 5.4.2103 Install
2022-8-14 5.4.2102 65301 Version 5.4.2102 Install
2022-8-4 5.4.2101 12852 Version 5.4.2101 Install
2022-7-31 5.4.2100 6482 Version 5.4.2100 Install
2022-4-22 5.4.1905 146335 Version 5.4.1905 Install
2022-4-21 5.4.1904 3471 Version 5.4.1904 Install
2022-3-13 5.4.1903 72962 Version 5.4.1903 Install
2022-3-7 5.4.1902 34177 Version 5.4.1902 Install
2022-3-6 5.4.1901 4356 Version 5.4.1901 Install
2022-3-5 5.4.1900 2315 Version 5.4.1900 Install
2022-1-6 5.4.1801 93296 Version 5.4.1801 Install
2021-12-24 5.4.19 35035 Version 5.4.19 Install
2021-12-24 5.4.18 466 Version 5.4.18 Install
2021-12-19 5.4.17 8567 Version 5.4.17 Install
2021-4-4 5.4.9 393875 Version 5.4.9 Install
2020-8-12 5.3.1 514017 Version 5.3.1 Install
2020-8-12 5.3.0 2563 Version 5.3.0 Install
2020-4-2 3.2.0 122582 Version 3.2.0 Install
2020-3-23 3.1.0 16697 Version 3.1.0 Install
2019-11-14 3.0.0 122356 Version 3.0.0 Install
2019-5-22 2.0.0 126672 Version 2.0.0 Install
2019-4-11 1.3.1 76680 Version 1.3.1 Install
2019-4-10 1.2.0 1973 Version 1.2.0 Install