The BepInEx error means the loader cannot find its preloader DLL, usually due to a wrong build, wrong folder, or missing core files.
Why You See “BepInEx May Not Be Installed Correctly – Further Help May Be Required”
This message usually appears when a mod manager such as Thunderstore or a custom installer tries to launch your game with BepInEx and fails to load the preloader DLL. On GitHub, this error often appears together with lines such as “Failed to find preloader dll” and “Arguments to path.join must be strings,” which tells you the tool cannot reach the files it expects in the BepInEx folder.
From the BepInEx troubleshooting docs, most startup problems come down to a missing core file or a wrong entry point for the loader. If the preloader DLL is not in the right place, has the wrong architecture, or never got extracted from the archive, BepInEx never reaches the stage where it can create the config and plugins folders, so mods never load.
When the Thunderstore installer prints “BepInEx may not be installed correctly – further help may be required,” it is not a random warning. It means the tool gave up after checking for the preloader DLL and related paths. Fixing that check almost always clears the message, so you can start the game and see the usual BepInEx console or log files instead.
Quick Checks Before You Change Anything
Before you dig into folder structures and configs, a short sanity pass can save time and help you avoid chasing the wrong cause.
- Start The Game Vanilla — Launch the game without any mod manager or launch options. If it cannot run in a clean state, solve that first before adding BepInEx.
- Confirm The Game Platform — Check whether you use Steam, Game Pass, Epic, GOG, or a stand-alone build. Some guides and mod packs target one platform only.
- Check Game Bitness — Open Task Manager after launching the game once. If the process name shows “(32 bit)” you need the x86 build of BepInEx; if not, you need the x64 build.
- Note The Engine Type — Many games use Unity with either Mono or IL2CPP. BepInEx has different builds for classic .NET and IL2CPP games, so using the wrong one triggers startup errors.
- Backup Before You Tinker — Copy the entire game folder somewhere safe, or at least back up the executable and any existing
BepInExfolder. If something goes wrong, you can revert quickly.
These small checks help you match the correct guide and download. They also give you a baseline: once you know the game runs normally, any crash or warning such as “BepInEx may not be installed correctly – further help may be required” almost always points to install details rather than a broken game.
Confirm You Downloaded The Right BepInEx Build
BepInEx ships different builds for different combinations of engine backend and architecture. The official docs list Windows x86 and x64 builds, plus special packages for IL2CPP games and for Unix systems. Grabbing the first archive you see on a mirror or random mod page often leads straight to the error you are trying to solve.
To match the correct build, work through these steps once and keep notes:
- Identify Mono Or Il2cpp — Many mod guides or Nexus pages for your game state this directly. If they mention “BepInEx 5” with no IL2CPP mention, you are usually on a classic Mono build. If they mention “BepInEx 6 IL2CPP” or “Unity IL2CPP,” use that line.
- Match X86 Or X64 — Use the Task Manager check you did earlier. Pick the BepInEx download that matches the game bitness, not your Windows edition.
- Prefer Official Builds — The safest source is the official BepInEx GitHub or docs, which link to current packages for supported engines and systems. Many game-specific packs wrap those same builds, but some older packs bundle outdated or mismatched files.
- Avoid Duplicate Installers — If you already used one mod manager or auto installer, remove its BepInEx files before trying a different one. Mixed files from two versions can confuse the loader.
Once you have the correct archive, delete any old BepInEx, doorstop_config.ini, or winhttp.dll files from the game folder, then extract the new package there. This clean slate makes the next steps much easier.
Install BepInEx In The Correct Game Folder
Many failed installs come from dropping files in the wrong folder. BepInEx needs to sit next to the game executable, not inside the data folder and not in a random mods folder. The official install guides for various games repeat this point because a single wrong level in the folder tree breaks the loader.
Use this sequence to place BepInEx correctly:
- Open The Game Root — In Steam, right-click the game, choose “Manage > Browse local files.” That window should show the main
.exefile for the game right away. - Extract Into That Folder — Place the contents of the BepInEx zip in the same folder as the game executable. You should see a
BepInExfolder, adoorstop_config.inifile, and a loader DLL such aswinhttp.dllorversion.dllnext to the.exe. - Avoid The Data Folder Trap — Do not extract into
GameName_Dataor similar engine data folders. Those contain assets and managed assemblies, not the main executable that BepInEx needs to hook. - Create The Plugins Folder — If the game runs once with BepInEx and creates a
configfolder but nopluginsfolder, you can createBepInEx/pluginsyourself and drop mods there. - Keep Folder Names Clean — Avoid extra nesting like
Game\BepInExPack\BepInEx. The game root should contain theBepInExfolder directly, not buried inside another layer.
When you run the game after setting this up, BepInEx should create a LogOutput.log file inside the BepInEx folder and may show a console window on launch. If you still see “BepInEx may not be installed correctly – further help may be required,” the next step is to look closer at the preloader and loader files.
Common Symptoms And Quick Fixes
This compact table maps the most frequent symptoms around the error message to a likely cause and a quick fix you can try first.
| Symptom | Likely Cause | Quick Fix |
|---|---|---|
| Error mentions missing preloader DLL | Wrong BepInEx build or missing core files | Redownload correct build and extract to game root again |
No BepInEx log or console, game runs fine |
Loader DLL not hooking into the game | Confirm loader DLL sits next to the game .exe and matches bitness |
| Game crashes on start with BepInEx files present | Mix of old and new BepInEx versions or wrong engine type | Delete old files, pick Mono vs IL2CPP correctly, then install from scratch |
Fix Common Preloader And Doorstop Problems
Under the hood, BepInEx uses a bootstrap layer such as Doorstop to inject itself into the game process. When that layer fails, you often see messages about missing preloader DLLs or path errors. This is exactly the pattern shown in the GitHub issue where the Thunderstore installer prints “Failed to find preloader dll” followed by “BepInEx may not installed correctly. Further help may be required.”
Work through these targeted fixes to clear the most common preloader issues:
- Check The Core Folder Structure — Inside
BepInEx, you should see acorefolder with DLLs such asBepInEx.Preloader.dll. If thecorefolder is empty or missing, the archive was not extracted correctly. - Re-extract From A Fresh Download — Corrupted or partial zip extractions often leave out vital DLLs. Delete the entire
BepInExfolder and extract a new copy directly into the game root, not via a temp folder. - Unblock The Zip On Windows — Right-click the downloaded archive, open Properties, and tick “Unblock” if the option appears. Then extract again. Some Windows setups block DLLs from downloaded archives unless you clear this flag.
- Review
doorstop_config.ini— Open this file in a text editor and confirm the target assembly path matches your BepInEx build, such asBepInEx\core\BepInEx.Preloader.dllor the IL2CPP variant. A mismatched path leaves Doorstop pointing at a file that does not exist. - Avoid Conflicting Loader DLLs — Some games or other tools ship their own
winhttp.dllorversion.dllfiles. If you see multiple copies in the game root, rename or move older ones after backing them up so that the BepInEx loader DLL is the one the game uses. - Check Antivirus Quarantine — Security tools sometimes flag injected DLLs. If your antivirus logs show deleted or quarantined BepInEx files, restore them and add the game folder as an exclusion.
- Adjust Wine Overrides On Linux Or Mac — When running through Proton or Wine, you may need a
winhttpoverride so Doorstop can hook correctly. Many game-specific BepInEx guides include the exact steps for this.
After these steps, launch the game again from the same platform used in your guide. If the preloader now runs, you should see BepInEx log lines either in a console window or in BepInEx/LogOutput.log. If the error persists, deeper logging will help narrow down the last few causes.
Use Logs To Pinpoint Remaining Problems
Once the loader starts at all, BepInEx can generate helpful logs that point directly at missing files, conflicting mods, or broken patches. The official troubleshooting docs suggest enabling the console and log output so that you see progress and errors as the game loads.
Set up logging with this approach:
- Edit Bepinex.cfg — After a successful first launch, open
BepInEx/config/BepInEx.cfgin a text editor. - Enable Console Logging — Find the
[Logging.Console]section and setEnabled = true. This setting tells BepInEx to show a console window with live log lines while the game runs. - Check LogOutput.log — Each launch should update
BepInEx/LogOutput.log. Scan the bottom of the file for clear error messages about plugins, preloader, or managed assemblies. - Disable Broken Plugins — If the logs point at a specific plugin DLL, move that file out of
BepInEx/pluginsand try again. A faulty mod can trigger the same generic “may not be installed correctly” message even if the base loader works.
Logging gives you concrete lines to share when you ask for help. Instead of saying “it does not work,” you can paste the last twenty lines of LogOutput.log, which often show the exact phase where loading stopped.
When Further Help May Be Required
Sometimes you will follow every step above and the error still appears, especially on unusual setups such as remote Windows servers, custom launchers, or heavily modified game folders. In those cases, the message “BepInEx may not be installed correctly – further help may be required” is accurate: you need a fresh set of eyes on your logs and install path.
Before you reach out anywhere, gather this information so that others can spot the pattern quickly:
- Bepinex Version And Build — Note whether you use BepInEx 5 or 6, Mono or IL2CPP, and x86 or x64.
- Game Name, Engine, And Platform — Include whether it is a Unity title, plus the store or launcher you use.
- Operating System — List your Windows edition or Linux or Mac details, including whether you run the game directly or through Proton or Wine.
- Full Game Path — Share the folder path where the game executable and BepInEx files sit, so others can spot misplaced folders.
- Recent LogOutput.log Snippet — Copy the last block of the log, including any stack traces and error lines about preloader DLLs or managed assemblies.
With that bundle of details, you can open a thread on the game’s modding forum, submit an issue on the BepInEx GitHub page, or reply in the comments of the mod pack you used. People who maintain these tools deal with the same patterns again and again, so a clean description plus logs often leads to an answer in a single round of messages.
The good news is that this warning rarely means your game is broken. In nearly every case, cleaning out old files, matching the correct BepInEx build to your game, placing the loader in the right folder, and confirming the preloader path resolves the problem. Once you reach that point, the error “BepInEx may not be installed correctly – further help may be required” disappears for good, and you can move on to the part everyone cares about: actually playing with your mods.
