Drew MochakandManlyMarco 7cb1246fcc Survive stripped UnityEngine.Application members during chainloader init (#1391)
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>
2026-09-01 06:58:43 +02:00
2022-08-14 17:19:09 +03:00
2021-12-21 16:09:39 +02:00
2021-11-02 20:52:06 +02:00
2019-10-24 22:27:29 +03:00
2020-11-09 19:55:03 +11:00

BepInEx

Github All Releases GitHub release BepInEx Discord

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

Latest releases

Bleeding Edge builds

How to install (latest releases)

How to install (Bleeding Edge, BepInEx 6)

User and developer guides

Discord server

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

IL2CPP libraries

License

The BepInEx project is licensed under the LGPL-2.1 license.

Languages
C# 96.2%
Shell 3.8%