mirror of
https://github.com/BepInEx/BepInEx.git
synced 2026-10-19 15:51:45 +00:00
6d82b2e5fcff13d1a99bba7f00f8756f129859fd
UnityLogSource's static constructor falls back to Application.RegisterLogCallback when Application.logMessageReceived is absent. Unity's managed code stripper can remove both, in which case GetMethod returns null and the unguarded Invoke throws a NullReferenceException out of the static constructor. That exception propagates through chainloader initialisation, so the chainloader never starts and no plugins load. The failure is close to undiagnosable: LogOutput.log ends at "Preloader finished" with no error, and the exception only appears on stdout. Unity log forwarding is optional, so warn and continue instead of taking the whole loader down. Seen on Beacon Pines (Unity 2021.3.45f1, Mono), whose UnityEngine.Application has neither member.
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%
