BepInEx.Preloader Doorstop environment variables, passed into the BepInEx preloader. https://github.com/NeighTools/UnityDoorstop/wiki#environment-variables Path to the assembly that was invoked via Doorstop. Contains the same value as in "targetAssembly" configuration option in the config file. Full path to the game's "Managed" folder that contains all the game's managed assemblies Full path to the game executable currently running. Array of paths where Mono searches DLLs from before assembly resolvers are invoked. Delegate used in patching assemblies. The assembly that is being patched. Worker class which is used for loading and patching entire folders of assemblies, or alternatively patching and loading assemblies one at a time. List of all patcher plugins to be applied Adds a single assembly patcher to the pool of applicable patches. Patcher to apply. Adds all patchers from all managed assemblies specified in a directory. Directory to search patcher DLLs from. Releases all patchers to let them be collected by GC. Applies patchers to all assemblies in the given directory and loads patched assemblies into memory. Directories to load CLR assemblies from in their search order. Loads an individual assembly definition into the CLR. The assembly to load. File name of the assembly being loaded. A single assembly patcher. Target assemblies to patch. Initializer method that is run before any patching occurs. Finalizer method that is run after all patching is done. The main patcher method that is called on every DLL defined in . Type name of the patcher. The main entrypoint of BepInEx, called from Doorstop. Recreation of MonoMod's PlatformHelper.DeterminePlatform method, but with libc calls instead of creating processes. This exists because the Mono implementation of is/was broken, and would call Write directly instead of calling TraceEvent. The main entrypoint of BepInEx, and initializes all patchers and the chainloader. The log writer that is specific to the preloader. Inserts BepInEx's own chainloader entrypoint into UnityEngine. The assembly that will be attempted to be patched. Allocates a console window for use by BepInEx safely. Log listener that listens to logs during preloading time and buffers messages for output in Unity logs later.