Modding Tools
0 of 0

File information

Last updated

Original upload

Created by

BepInEx Team

Uploaded by

bbepis

Virus scan

Safe to use

Tags for this mod

About this mod

Universal plugin loader for Unity games, especially for those that don't support modding. Supports Unity versions 3.x all the way to 2017.x, and most up to 2020.x.

Requirements
Permissions and credits
Mirrors
BepInEx is a universal Unity plugin loader to allow code execution and in-memory patching for games that do not have native support for it.

This loader is set apart from other plugin loaders as it has support for editing .DLL assemblies without requiring changes on disk, which makes it extremely powerful to make changes with.

Currently only Windows is supported, but can be run on Linux with Proton/Wine. Native support for Linux and Mac OS X will be included in a future update.


BepInEx is compatible with almost every Unity game under the sun. Notable exceptions are games that use an IL2CPP runtime (such as VRChat).

Examples of games with BepInEx modding communities:
  • Risk of Rain 2
  • Outward
  • Koikatsu
  • Huniepop
  • Custom Maid 3D 2

Games that I've personally verified as working but don't have an existing community:
  • Beat Saber
  • Slime Rancher
  • Pathfinder: Kingmaker
  • My Time At Portia
  • Oxygen Not Included
  • Endless Space (and most other Endless/Amplitude games for that matter)
  • Subnautica


Issue tracker (place to report bugs)
https://github.com/BepInEx/BepInEx/issues

Source code
https://github.com/BepInEx/BepInEx

Developer documentation
https://bepinex.github.io/bepinex_docs/v5.0/index.html


BepInEx also has plugins that allow it to load plugins from other frameworks.
These include but are not limited to:

Installation guide

Installing the framework

  • Ensure you download the correct variant of BepInEx for your game (32-bit or 64-bit), otherwise when you install it, it will fail to load and not show any visible signs of this.
    You can check which type your game is by running it, opening it in task manager and seeing if the game has "(32-bit_" next to it's name. If it does, then it requires the 32-bit version, otherwise the 64-bit version.
  • Extract all of the files inside the .zip file to your game directory. If extracted correctly, it means that next to your Unity game .exe, there is a "winhttp.dll" file, and a "BepInEx" folder.

You're done!

A more detailed guide is here: https://bepinex.github.io/bepinex_docs/v5.0/articles/user_guide/installation.html

If you are using BepInEx in a game that does not already have an established BepInEx modding community, read this document to ensure that you're able to use BepInEx, and you're able to avoid pitfalls that may arise: https://bepinex.github.io/bepinex_docs/v5.0/articles/advanced/porting.html


Temporarily disabling the framework

Rename "winhttp.dll" to something else. Rename it back to it's original name to re-enable the framework.


Uninstalling the framework

Delete "winhttp.dll", "doorstop_config.ini" and the "BepInEx" directory.



Further instructions

Editing BepInEx or plugin configuration

Configuration files are located in the BepInEx/config directory. They use TOML, which is very similar to .ini files.


Installing plugins

Plugins should be extracted and placed into the BepInEx/plugins directory. It is not required for each plugin .DLL to have it's own folder, but it is highly recommended to keep the folder clean and organized.