Running native Unix games through Steam
To make a native game work with BepInEx you need to run it through a script, which can cause issues with Steam since it will want to run the game executable directly and can restart the game if you try to run it from outside of Steam, preventing BepInEx from being used.
Thankfully, Steam provides a way to run launch scripts directly before running the original game. This guide will use this feature to fix the above issue.
The process is similar for both Linux and macOS, but with one key difference.
1. Download and install BepInEx
First, download and install BepInEx binaries if you hadn't done so.
For that, follow steps 1-2 in the [installation guide](Installing BepInEx#installing-bepinex)
To easily find the game folder of a Steam game, go into properties of the game:
Browse local files from
Local files tab:
Don't run the script yet as it will run the game without Steam integration. You don't need to configure the script either, as it will be done by Steam.
2. Set up permissions
On Unix systems, you first need to give the run script permission to run.
At this moment it has to be done manually.
Open the game folder in terminal and add execution permission to run script:
chmod u+x run_bepinex.sh
This will add needed permissions to run BepInEx.
3. Configure Steam to run the script
Finally, configure Steam to run the script.
Open the game's properties on Steam:
Set launch options button which will open a new window:
Now, change the launch options depending on your OS:
4. Run first time to generate configuration
Finally, run the game via Steam normally. This will generate BepInEx config, but the game might not run.
5. Configure BepInEx to suit your needs.
BepInEx/config/BepInEx.cfg in a text editor of your choice.
All options are documented directly in the configuration file.
Additionally, refer to refer to the configuration guide for more information.