BepInExPack Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
| Date uploaded | 2 years ago |
| Version | 5.4.2100 |
| Download link | denikson-BepInExPack_Valheim-5.4.2100.zip |
| Downloads | 111679 |
| Dependency string | denikson-BepInExPack_Valheim-5.4.2100 |
README
BepInExPack for Valheim
This is BepInEx 5.4.21 pack for Valheim.
BepInEx is a general purpose framework for Unity modding. BepInEx includes tools and libraries to
- load custom code (hereafter plugins) into the game on launch;
- patch in-game methods, classes and even entire assemblies without touching original game files;
- configure plugins and log game to desired outputs like console or file;
- manage plugin dependencies.
BepInEx is currently one of the most popular modding tools for Unity on GitHub.
This pack's contents
This pack is preconfigured and usable for Valheim modding.
In particular, the changes from base BepInEx releases are:
- Added preconfigured
BepInEx.cfgwith console enabled. - Added unstripped Unity + Mono BCL DLLs for current versions of the game. See this issue comment for more info.
- Updated Doorstop configuration and BepInEx to allow to load unstripped DLLs without having to overwrite game DLLs.
- Added scripts necessary to run both game and dedicated server on Linux machines
Installation (game, automated)
This is the recommended way to install BepInEx on the game.
- Download and install Thunderstore Mod Manager or r2modman
- Click Install with Mod Manager button on top of the page
- Run the game via the mod manager
Installation (server, automated)
There are some managed dedicated server that support simple and automatic BepInEx installation.
Here is a list of known ones (list updated as more is known).
Note: Some of the links may be affiliate links
Installation (manual)
If you are installing this manually, do the following
-
Extract the archive into a folder. Do not extract into the game folder.
-
Move the contents of
BepInExPack_Valheimfolder into<Steam Location>\steamapps\common\Valheim. -
Check that you have installed it correctly. If done correctly, your folder will look as follows

-
Follow either Windows or Linux game running instructions below:
Configuration (Windows)
No need to configure. Simply run the game. If everything is correct, you will see a console pop up.
Configuration (Linux, game)
-
Make
start_game_bepinex.shexecutable withchmod u+x start_game_bepinex.sh. -
In Steam, go to game's properties and set game's launch arguments to
./start_game_bepinex.sh %command%Note to advanced users: You can change
./start_game_bepinex.shto full path to the script. This way you can install this pack entirely outside of game folder. -
Run the game via Steam.
At this moment you will not see any clear indication if BepInEx works. It is suggested to test by installing a simple plugin such as MessageCenter from BepInEx.Utility.
Configuration (Linux, server)
This guide assumes you have enough knowledge working with Linux.
If not, it is suggested you use ValheimPlus instead and server hosts that support it out of the box.
- Make
start_server_bepinex.shexecutable withchmod u+x start_server_bepinex.sh. - Edit
start_server_bepinex.shto change the launch parameter like you would with Valheim's own launch script. - Run
start_server_bepinex.shto start the server.
If done correctly, you will see BepInEx bootstrap messages in the terminal.
Checking BepInEx version and load status
If BepInEx was loaded successfully into the game, you should see BepInEx version info in top left corner of the main menu:

Useful links
- BepInEx: writing basic plugin walkthrough
- BepInEx: useful plugins for modding
- BepInEx: patching game methods at runtime
Issues, questions, etc.
At this moment, you can use the following channels to ask for help
- Valheim Modding Discord
- BepInEx Discord -- Only technical support for THIS PACKAGE. No support for plugins.
Changelog
5.4.2100
- Updated to BepInEx 5.4.21
5.4.1902
- Updated to support Valheim 0.214.2
5.4.1901
- Updated to support Valheim 0.209.5
5.4.1900
- Updated to BepInEx 5.4.19 (changelog)
5.4.1700
- Updated to BepInEx 5.4.17 (changelog)
5.4.1601
- Updated unstripped DLLs for Unity 2019.4.31
5.4.1600
- Updated to BepInEx 5.4.16 (changelog)
5.4.1502
- Adjusted
start_game_bepinex.shto handle cmdline args better
5.4.1501
- Updated Valheim.DisplayBepInExInfo to 2.0.0(changelog)
5.4.1500
- Updated to BepInEx 5.4.15 (changelog)
5.4.1400
- Updated to BepInEx 5.4.14 (changelog)
- Updated *nix start script for games to account for new Steam game bootstrapper
5.4.1100
- Updated to BepInEx 5.4.11 (changelog)
5.4.1001
- Updated unstripped DLLs for Unity 2019.4.24
5.4.1000
5.4.901
- Updated README with some dedicated servers that support BepInEx by default
5.4.900
- Updated to BepInEx 5.4.9 (changelog)
- Updated Valheim.DisplayBepInExInfo to 1.0.1 (changelog)
- Set
PreventClosetotrueby default. This prevents console from being closed (and thus unsaved game being closed by accident)
5.4.800
- Updated to BepInEx 5.4.8
- Added Valheim.DisplayBepInExInfo plugin
5.4.701
- Updated screenshot of example installation
5.4.700
- Updated to BepInEx 5.4.7
5.4.603
- Updated BepInEx 5.4.6 to a newer build
- Added
--enable-console true|falsecommand-line option to enable or disable BepInEx console - Added
--doorstop-dll-search-overridecommand-line option to behave the same way as config'sdllSearchPathOverrideoption
5.4.602
- Updated BepInEx 5.4.6 to a newer build
- Update config to write Unity logs to LogOutput.log by default
- Added preconfigured scripts and files to run the game under Linux
5.4.601
- Updated unstripped DLLs for Unity 2019.4.20
5.4.600
- Adjusted README
- Adjusted versioning to account for inter-version changes
5.4.6
- Initial release with BepInEx 5.4.6
CHANGELOG
Changelog
5.4.2333
UnityLogListener
✅ Fixed
-
Unity 6 compatibility: We now bind directly to Unity’s real
UnityEngine.UnityLogWriterfromUnityEngine.CoreModuleinstead of our local stub. This fixes cases where the listener failed to start on Valheim0.221.3 (Call to Arms PTB)with Unity6000.0.46f1, which showed:[Error : BepInEx] Unable to start Unity log writer
🛡️ Hardening
- Only hook a method that exactly matches
WriteStringToUnityLog(string)and probe it safely before using it. - If the Unity 6 method isn’t available, we fall back to the legacy stub (older Unity versions continue to work).
- Keep the existing guard to avoid double-writing console output; the
Logging.LogConsoleToUnityLogconfig still behaves the same.
Preloader
🔧 Changed
- Log Valheim version earlier: Print the game version (with network version) before the chainloader runs, so the info is captured even if the game crashes during early startup.
5.4.2332
🔧 Changed
- Updated
libdoorstopx64.soto be correctly namedlibdoorstop_x64.so
5.4.2331
🔧 Changed
-
Updated
libdoorstop_x64.soin the BepInEx package to target glibc 2.34 by compiling against Ubuntu 22.04.- This restores compatibility with Ubuntu 22.04, Debian 12, and other Linux distributions using glibc 2.34 or newer.
- Previous builds were compiled against newer glibc versions (e.g., 2.38), which caused runtime failures on older but still-supported systems.
Compatibility Notes
-
Systems using Debian 11 or older (glibc < 2.34) are no longer supported.
-
Containers like
lloesche/valheim-server-dockermust be updated to a base image that provides glibc 2.34+. -
If you're still encountering issues after updating, verify your runtime glibc version using:
ldd --version
🛠️ Script Changes
start_server_bepinex.shupdated to correct vars
Special shouts
- Thank you to Arrowmaster for testing and help given.
5.4.2330
🔧 Plugin Changes
-
Valheim.DisplayBepInExInfo.dllis no longer included by default. This plugin is now offered separately on Thunderstore for those who still want it here. It provided plugin counts in the main menu and in-game access to BepInEx log output via the console.⚠️ This change only affects new installs and new profiles. Existing setups are unaffected. For debugging, it’s now recommended to either:
- Use the console window that launches alongside the game, or
- Directly open the
BepInEx/LogOutput.logfile.
📘 Documentation
- The README has been updated with more relevant, up-to-date information.
- Due to limitations on Thunderstore descriptions, any live updates or important notices for this pack will be posted on the Wiki tab. If you have something that should be added, contact one of the maintainers.
⬆️ Upstream Updates
- Updated BepInEx from 5.4.22 to 5.4.23.3.
- Preloader updated to align with this BepInEx release.
- Doorstop upgraded to v4.4.0 as part of the upstream sync.
🛠️ Startup Script Improvements
- Replaced the official BepInEx
start_game_bepinex.shwith a community-tested version by Arrowmaster. This version provides better handling of Steam launch arguments, regardless of their order.
Changelog History (click to expand)
5.4.2202
- ReadMe Updated to remove links to BepInEx Discord
- Preloader version incremented.
- Update made to Preloader to ensure assembly's are being patched correctly.
- This should remove the warning message that shows when BepInEx starts.
- Modders: Unstripped Corlibs are still removed. If you are having issues with System dependencies, please include those dependencies directly into your project.
5.4.2201
- As of Valheim 0.217.24, There is no longer a need for the unstripped corlibs to be shipped with BepInEx.
- This version removes the corlibs and instructs doorstop not to include them.
- For modders, this is important, as you'll want to make sure you are referencing Unity from the Game Folder now.
5.4.22
- Update for Valheim 0.217.22 and upgrade BepInEx to 5.4.22
5.4.2105
- Updating Thunderstore version in Preloader.DLL
5.4.2104
- For Unix installs, including dedicated servers, the ForceBepInExTTYDriver config setting was removed in a prior update. This is needed for servers to shut down correctly.
5.4.2103
- Log the BepInExPack Valheim version the user is using right before the preloader completes. This is to help troubleshoot issues by stating what version of the pack you are running.
5.4.2102
- Updated to force the Assembly entry point by default. This should prevent some issues with users having older config files.
5.4.2101
- Updated to support Valheim 0.214.3
5.4.2100
- Updated to BepInEx 5.4.21
5.4.1902
- Updated to support Valheim 0.214.2
5.4.1901
- Updated to support Valheim 0.209.5
5.4.1900
- Updated to BepInEx 5.4.19 (changelog)
5.4.1700
- Updated to BepInEx 5.4.17 (changelog)
5.4.1601
- Updated unstripped DLLs for Unity 2019.4.31
5.4.1600
- Updated to BepInEx 5.4.16 (changelog)
5.4.1502
- Adjusted
start_game_bepinex.shto handle cmdline args better
5.4.1501
- Updated Valheim.DisplayBepInExInfo to 2.0.0(changelog)
5.4.1500
- Updated to BepInEx 5.4.15 (changelog)
5.4.1400
- Updated to BepInEx 5.4.14 (changelog)
- Updated *nix start script for games to account for new Steam game bootstrapper
5.4.1100
- Updated to BepInEx 5.4.11 (changelog)
5.4.1001
- Updated unstripped DLLs for Unity 2019.4.24
5.4.1000
5.4.901
- Updated README with some dedicated servers that support BepInEx by default
5.4.900
- Updated to BepInEx 5.4.9 (changelog)
- Updated Valheim.DisplayBepInExInfo to 1.0.1 (changelog)
- Set
PreventClosetotrueby default. This prevents console from being closed (and thus unsaved game being closed by accident)
5.4.800
- Updated to BepInEx 5.4.8
- Added Valheim.DisplayBepInExInfo plugin
5.4.701
- Updated screenshot of example installation
5.4.700
- Updated to BepInEx 5.4.7
5.4.603
- Updated BepInEx 5.4.6 to a newer build
- Added
--enable-console true|falsecommand-line option to enable or disable BepInEx console - Added
--doorstop-dll-search-overridecommand-line option to behave the same way as config'sdllSearchPathOverrideoption
5.4.602
- Updated BepInEx 5.4.6 to a newer build
- Update config to write Unity logs to LogOutput.log by default
- Added preconfigured scripts and files to run the game under Linux
5.4.601
- Updated unstripped DLLs for Unity 2019.4.20
5.4.600
- Adjusted README
- Adjusted versioning to account for inter-version changes
5.4.6
- Initial release with BepInEx 5.4.6

