Beat Saber IPA - The mod injector tailored for Beat Saber
A console window should open before the game starts if the installation was successful.
To disable this console window, pass --no-console
to the game.
ipa -rn
in a command windowIPA.exe file-to-patch [arguments]
--launch
: Launch the game after patching--revert
: Revert changes made by IPA (= unpatch the game)--nowait
: Never keep the console open-h
or --help
for more options.Unconsumed arguments will be passed on to the game in case of --launch
.
IBeatSaberPlugin
or IEnhancedBeatSaberPlugin
See Developing for more information.
BSIPA will automatically repatch the game when it updates, as long as winhttp.dll
is present in the install directory.
For some reason, by default, Wine does not load DLLs in quite the same way that Windows does, causing issues with the injection.
To make the injection work with Wine, winhttp
has to have a DLL override set to native,builtin
. This can be set either through
Protontricks, or with the following .reg
file.
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\DllOverrides]
"winhttp"="native,builtin"
Clone with git clone https://github.com/beat-saber-modding-group/BeatSaber-IPA-Reloaded.git --recursive
Create a file, bsinstalldir.txt
in the solution root. Do NOT create this in Visual Studio; VS adds a BOM at the begginning of the file that the tools used cannot read.
It should contain the path to your Beat Saber installation, using forward slashes with a trailing slash. e.g.
C:/Program Files (x86)/Steam/steamapps/common/Beat Saber/
Open BSIPA.sln
in Visual Studio.
Choose the configuration x64
Rebuild all.
When you make a change somewhere in BSIPA itself, right click on IPA
and click Build
. This sets up the output in path/to/solution/IPA/bin/<Configuration>
to be what
should be copied to the game directory.
When making a change to the Mod List, you only need to build the mod list. Install by copying everything in path/to/solution/BSIPA-ModList/bin/<Configuration>
to your game
directory.
When building a Debug build, all referenced assemblies from Beat Saber will be copied from the install directory provided in bsinstalldir.txt
into Refs/
. Any new references
should reference the copy in there. When building for Release, it just uses the files already in Refs/