Millzy-BootstrapOverride icon

BootstrapOverride

Overrides the default Scene Bootstrapper, allowing you to customise what level you load into first.

Last updated a year ago
Total downloads 946
Total rating 1 
Categories Code Mods
Dependency string Millzy-BootstrapOverride-0.2.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

LavaGang-MelonLoader-0.5.7 icon
LavaGang-MelonLoader

The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono

Preferred version: 0.5.7
Millzy-Boneject-2.0.0 icon
Millzy-Boneject

A Dependency Injection implementation for BONELAB.

Preferred version: 2.0.0

README

BootstrapOverride

A BONELAB mod that overrides the default Scene Bootstrapper, allowing you to customise what level you load into first.

Requires Boneject

⚠️ This mod is NOT compatible with MenuSkipper, please uninstall it to use this. ⚠️

BootstrapOverride works in a similar way to MenuSkipper, having both installed may cause problems.

How to install

  1. Install MelonLoader.
  2. Download the mod file(s) from Thunderstore or the latest GitHub Release.
  3. Copy/place BootstrapOverride.dll and BootstrapOverride.pdb into the Mods folder located in your game's install directory.
  4. Start the game.
  5. Close the game.
  6. Done!

How to configure

By default, BootstrapOverride will skip the main menu and load the BONELAB Hub. If you wish to change this you can in two ways:

Do not edit the config whilst the game is running.

Using the level name

  1. Navigate to your BONELAB installation directory.
  2. Open BootstrapOverride.json in the UserData folder.
  3. You should see a file that looks like this:
{
  "level_barcode": "c2534c5a-6b79-40ec-8e98-e58c5363656e",
  "level_name": null
}
  1. Change the level_name value from null to be somewhat close to the name of the level you want. Do not worry about the level_barcode property.
    1. Make sure the value is encased with " "
    2. The value is case-insensitive; capitalisation does not matter.
    3. The value does not have to be an exact match, it just has to be a substring of the title of the level,
      e.g. for 02 - Street Puncher
      • ✅ - 02, Puncher, STREET PUNCHER...etc.
      • ❌ - 02 - Puncher, Puncher Street...etc.
  2. Once you have entered the name of the level you want to load, the file should look like this:
{
  "level_barcode": "c2534c5a-6b79-40ec-8e98-e58c5363656e",
  "level_name": "Street Puncher"
}
  1. Save the file, and start the game.
  2. Done!

Note: The level_name value will reset to null after running, this is because the name is used to fetch the barcode and the level_barcode is then updated.

Using the level barcode.

  1. Navigate to your BONELAB installation directory.
  2. Open BootstrapOverride.json in the UserData folder.
  3. You should see a file that looks like this:
{
  "level_barcode": "c2534c5a-6b79-40ec-8e98-e58c5363656e",
  "level_name": null
}
  1. Replace the value of level_barcode with the barcode of the level you want.
  2. Once you have entered the barcode of the level you want to load, the file should look like this:
{
  "level_barcode": "SLZ.BONELAB.Content.Level.LevelStreetPunch",
  "level_name": null
}
  1. Save the file and start the game.
  2. Done!

For Contributors

  1. Clone the project from the GitHub repository.
  2. Open BootstrapOverride.sln in your favourite C# IDE.
  3. You should see a missing file called BootstrapOverride.csproj.user. This is intentional.
  4. Create the file.
  5. In BootstrapOverride.csproj.user, you need to define a property called BonelabDir where the value is the path to your BONELAB installation.
  6. It should look similar to this:
<Project>
  <PropertyGroup>
    <BonelabDir>D:\Oculus\Software\Software\stress-level-zero-inc-bonelab</BonelabDir>
  </PropertyGroup>
</Project>
  1. Save the file.
  2. All set!