An easy way to set up your UI in Beat Saber without manually creating new objects and parenting them.
More info on the docs.
In order to build this project, please create the file BeatSaberMarkupLanguage.csproj.user
and add your Beat Saber directory path to it in the project directory.
This file should not be uploaded to GitHub and is filtered out by the .gitignore.
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- Set "YOUR OWN" Beat Saber folder here to resolve most of the dependency paths! -->
<BeatSaberDir>E:\Program Files (x86)\Steam\steamapps\common\Beat Saber</BeatSaberDir>
</PropertyGroup>
</Project>
If you plan on adding any new dependencies which are located in the Beat Saber directory, it would be nice if you edited the paths to use $(BeatSaberDir)
in BeatSaberMarkupLanguage.csproj
...
<Reference Include="IPA.Loader">
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\IPA.Loader.dll</HintPath>
</Reference>
...
This project currently uses a fork of BepInEx.AssemblyPublicizer. You will need to add https://nuget.pkg.github.com/nicoco007/index.json
as a package source for NuGet to download it. Take a look at GitHub's Working with the NuGet Registry for details.