77 lines
3.6 KiB
Markdown
77 lines
3.6 KiB
Markdown
---
|
|
prev: false
|
|
next: false
|
|
---
|
|
|
|
# Modding Tools Setup for Visual Studio
|
|
|
|
We will be using the BeatSaberModdingTools (BSMT) extension in this tutorial,
|
|
as it comes with modding templates and useful features, like saving your Beat Saber directory.
|
|
|
|
The Visual Studio extension can be downloaded
|
|
from [GitHub](https://github.com/Zingabopp/BeatSaberTemplates/releases/latest). You will need to download
|
|
`BeatSaberModdingTools.vsix`. (Expand the Assets dropdown if you cannot find it)
|
|
|
|
Once downloaded, open the `.vsix` and it will install itself as a Visual Studio Plugin.
|
|
If you have any issues, consult the project's [README](https://github.com/Zingabopp/BeatSaberModdingTools#readme)
|
|
and [WIKI](https://github.com/Zingabopp/BeatSaberModdingTools/wiki).
|
|
|
|
## Template setup
|
|
|
|
BSMT comes with some working plugin templates to get you started as quickly as possible.
|
|
|
|
First, create a new project and find a template. We are going to use the `BSIPA4 Plugin (Core)` template, and we'll be
|
|
calling our mod `BSPlugin1`.
|
|
You should change the name to whatever you want to call your mod.
|
|
|
|

|
|

|
|
|
|
You will then need to set your Beat Saber Directory in Visual Studio.
|
|
Follow the instructions [on the template readme](https://github.com/Zingabopp/BeatSaberModdingTools#how-to-use),
|
|
or see the screenshot below.
|
|
|
|

|
|
|
|
At this point, **try and build the project**, and it should automatically find the
|
|
references for you and the build should succeed.
|
|
|
|
If your build does not succeed, check that you don't have any missing references.
|
|
|
|
::: tip
|
|
BeatSaberModdingTools will automatically handle references. If your references could not be
|
|
found, [double-check the instructions](https://github.com/Zingabopp/BeatSaberModdingTools#beat-saber-modding-tools).
|
|
|
|
If you need to manually add references, right click on `References` in the Project folder, then
|
|
`Beat Saber Reference Manager...`.
|
|
Select your references, then click "Apply".
|
|
|
|
You can find more information about the reference
|
|
manager [here](https://github.com/Zingabopp/BeatSaberModdingTools/wiki/Adding-References).
|
|
:::
|
|
|
|
## Inspecting the Code
|
|
|
|
You should have 5 files open automatically with the template.
|
|
|
|
| Filename | About |
|
|
| ------------------------ | ------------------------------------------------------------------------------ |
|
|
| `manifest.json` | Information about your mod for BSIPA. |
|
|
| `Plugin.cs` | The main file that is loaded for your mod. |
|
|
| `AssemblyInfo.cs` | File information about your mod. This is mostly managed by Modding Tools. |
|
|
| `PluginConfig.cs` | A template for enabling config for your mod. This is commented out by default. |
|
|
| `BSPlugin1Controller.cs` | A generic MonoBehaviour for your mod. |
|
|
|
|
### Edit your mod's Manifest
|
|
|
|
Fill out the `manifest.json` file with your information.
|
|
The `name` and `id` keys are used to identify your mod.
|
|
The ID should match the ID used when uploading your mod to BeatMods.
|
|
|
|
::: warning
|
|
Do **not** remove the dependency on BSIPA. As of BSIPA v4.1 this is required for your mod to load.
|
|
:::
|
|
|
|
After you're done with the setup, you can return to the main
|
|
[PC mod dev intro page](./setup.md#compiling) to find out how to run your mod in game!
|