mirror of
https://github.com/BepInEx/BepInEx.git
synced 2026-10-19 15:51:45 +00:00
7cb1246fcc05d680c454a51d2932c383c1e8843e
Two related failures on aggressively stripped Unity Mono builds: 1. InitializeLoggers reads Application.unityVersion, which the managed code stripper can remove. The version is only used for an informational log line, but a MissingMethodException there aborts the rest of chainloader initialisation. Read it defensively instead. 2. UnityChainloader.Initialize caught every exception, logged it as Fatal, and returned normally. StaticStart then called Execute() on a chainloader that was never initialised, so BepInEx logged "Chainloader startup complete" while every plugin silently never ran. Rethrow so a failed init cannot be mistaken for a successful one. Verified on Beacon Pines (Unity 2021.3.45f1, Mono, x64), which strips both Application.unityVersion and the log-callback members. Co-authored-by: ManlyMarco <39247311+ManlyMarco@users.noreply.github.com>
BepInEx
Bepis Injector Extensible
BepInEx is a plugin / modding framework for Unity Mono, IL2CPP and .NET framework games (XNA, FNA, MonoGame, etc.)
(Currently only Unity Mono has stable releases)
Platform compatibility chart
| Windows | OSX | Linux | ARM | |
|---|---|---|---|---|
| Unity Mono | ✔️ | ✔️ | ✔️ | N/A |
| Unity IL2CPP | ✔️ | ❌ | ✔ | ❌ |
| .NET / XNA | ✔️ | Mono | Mono | N/A |
A more comprehensive comparison list of features and compatibility is available at https://bepis.io/unity.html
Resources
How to install (latest releases)
How to install (Bleeding Edge, BepInEx 6)
Available plugin loaders
| Name | Link to project |
|---|---|
| BSIPA | BepInEx.BSIPA.Loader |
| IPA | IPALoaderX |
| MelonLoader | BepInEx.MelonLoader.Loader |
| MonoMod | BepInEx.MonoMod.Loader |
| MuseDashModLoader | BepInEx.MDML.Loader |
| Partiality | BepInEx-Partiality-Wrapper |
| Sybaris | BepInEx.SybarisLoader.Patcher |
| UnityInjector | BepInEx.UnityInjector.Loader |
| Unity Mod Manager | Yan.UMMLoader |
| uMod | BepInEx.uMod.Loader |
Used libraries
- NeighTools/UnityDoorstop - v4.5.0
- BepInEx/HarmonyX - v2.10.2
- 0x0ade/MonoMod - v22.7.31.1
- jbevain/cecil - v0.10.4
IL2CPP libraries
- SamboyCoding/Cpp2IL - v2022.1.0
- BepInEx/Il2CppInterop - v1.5.3
- BepInEx/dotnet-runtime - v6.0.7
License
The BepInEx project is licensed under the LGPL-2.1 license.
Languages
C#
96.2%
Shell
3.8%
