Making Mods
Beat Saber does not have built in mod support.
Development for PC and Quest standalone are two vastly different workflows.
PC Mod Development
Injecting Mods
Instead, most mods within the mod installer rely on BSIPA (Beat Saber Illusion Plugin Architecture) to inject plugins into the game, as well as providing some useful tools for us modders.
For those of you who prefer BepInEx over either of these options, Bepis has created a loader for BSIPA plugins, available here. As for developing Beat Saber plugins with the BepInEx plugin API, a generic guide exists on their documentation site, but other than that you're kinda on your own.
Project Setup
If you are interested in creating a Beat Saber mod, but do not have a template or Visual Studio template set up, follow the Intro guide to get your project all set up.
Ready to go?
Check out the links below for documentation relating to Unity and related tooling. If you have any questions, the best place to ask is in the #pc-mod-dev
channel on the BSMG Discord
Launch args
Helpful launch arguments that will make modding / debugging easier.
Argument | Description |
---|---|
--verbose | Enables the output log window for IPA. This will show the debug console that mods use. |
fpfc | "First Person Flying Controller" This allows you to use WASD and the mouse to navigate around the menu in game. This makes testing much easier, because you don't have to put on your headset! |
-vrmode oculus | If you are running Beat Saber through Steam, this allows you to play the game on an Oculus headset. |
Other Links
Quest Mod Development
The following guide covers most of the concepts you will need for creating mods for the Quest. This includes but is not limited to:
- Hooking
- Configuration using
config-utils
- User Interfaces using
bsml
- Custom types
Visit the Quest Mod Development Intro page for more information on getting started!