Custom Song Lifecycle

Many people think that a custom song is just some ZIP file filled with music and data that is inserted into BMBF, but the lifecycle of a custom song’s creation until it shows up in Beat Saber is a lot more than that and understanding this lifecycle may answer some questions you’ve been wondering about why certain things work or don’t work as you would expect. Consider this diagram. Full sized copy here.

Betcha didn’t know it was so complicated?

A Song Is Born

Ideally, a very talented artist creates a custom map using Mediocre Mapper Assistant 2 or other quality mapping tool. People seem to think this is super easy and that anyone can do it (even a robot) but quality maps come from quality artists. I did a complete article on this process – interviewing top mappers for their input.

https://medium.com/swlh/we-got-the-beat-the-birth-of-a-custom-map-58b211fbb71a

Image for post
Map being made in Mediocre Mapper Assistant 2

The song ends up in a properly formatted ready-to-publish ZIP file which the mapper uploads to the community’s custom song repository known as Beat Saver.

Beat Saver – The Song Repository

The ZIP file created by the mapper is stored and consumed by Beat Saver, the official community repository of custom songs.

The information about the map (difficulty levels and other metadata) is stored and made available to the public to search and access.

It is worth noting that Beat Saver is the source for all custom song downloads – if this repository goes down? All tools and sites (such as Beast Saber, BMBF, Playlist Editor Pro) that use it will no longer be able to provide downloads or some services.

Beat Saver is tied to the custom song’s hash value. This is a big long number generated by the contents of the ZIP file uploaded by the mappers. This is a unique key – a fingerprint – which can be generated without having to access a service to do so. This hash key is used to look up songs from various tools like BMBF and its ScoreSaber mod but it is not the only identifier used out there.

While Beat Saver is a great repo, it wasn’t designed for “community consumption” per se. So Beat Saver provides API calls so that other sites and tools can access this data and provide additional services to the public.

This is where Beast Saber comes in.

Beast Saber – The Community Hub

Once a custom song is consumed by Beat Saver, the song metadata is echoed to the community hub known as Beast Saber.

This website provides public services like song playlists, song curation, user reviews, news feeds, tutorials and articles, social services and so much more.

Songs are not stored here; if Beat Saver goes down – the songs will still show up here but they will not be downloadable.

When a song hits this point in the lifecycle, it is assigned a song key. This key, like the hash value of the song, is a unique identifier – but while anyone can calculate the hash value of any given song file? You cannot derive the song key from a disassociated song. If the song exists in the Beat Saver ecosystem? It has a song key assigned. Beast Saber uses this key as a tie in to Beat Saver.

When you’re using the SyncSaber tab in BMBF, all the curated lists you pull … your personal bookmarks, authors you’re following? All of these services are provided by Beast Saber. If Beast Saber is down, these services do not work. Likewise, while Beast Saber provides the song lists (bookmarks, curated lists, etc) Beat Saver is providing BMBF with the songs themselves. Beast Saber can be up – and Beat Saver down – and your SyncSaber actions will still fail.

Confused yet? Take a look at the diagram above again. Hopefully it is starting to make more sense.

Bottom line; while Beast Saber is the “face” of custom songs for many people, in the end – Beat Saver is really the life’s blood and “source of truth” when it comes to custom songs.

ScoreSaber – Tracking Custom Song Scores

Most people know that a modded Beat Saber (enabling custom songs) cannot engage in Facebook services like multi-player or OST scoreboards. However, thanks to a great mod called ScoreSaber, custom songs that exist in the Beat Saver ecosystem can harness the scoring system and provide us with worldwide leaderboards.

I’m not a competitive player .. obviously.

ScoreSaber, like everything else, is tied to the Beat Saver repository. That is why songs you make yourself and upload to your Quest don’t show any scoreboard; until the mapper uploads the song to Beat Saver and it is consumed, you will not be able to track scores against it and the mod will error out.

ScoreSaber is driven against the song’s hash value – but it cross references it with Beat Saver; so even though the hash is calculated by ScoreSaber’s mod on Quest – the song is “invisible” to leaderboards until accepted by the community repository.

Once your song is finished and uploaded to Beat Saver – you should get score tracking services soon thereafter.

BMBF – Quest’s Interface to the Custom Song Ecosystem

If you’re reading this, you understand that BMBF is required to use custom songs. Technically, BMBF provides services that modify or patch Beat Saber to allow us to use custom songs. However, BMBF provides more than just a Beat Saber patching tool.

Custom songs that are stored on the Quest can be segregated into “playlists” to allow you to categorize and access your songs in a logical way; much like the official Beat Saber DLC songs are separated into their own “albums” in the Beat Saber interface. BMBF offers a basic interface to do this, however my tool Playlist Editor Pro offers a much more robust experience for this.

BMBF acts as a conduit between Beat Saber and Beast Saber – allowing you to access many curated, custom playlists – along with your own bookmarks (which is the way I recommend you get custom songs to your Quest).

You can sync a lot of content within BMBF/SyncSaber

Finally, BMBF is the keeper of mods that extend or change Beat Saber – these mods give us access to many things. Check out our article on Mods for more information and to see what is available.

BMBF’s primary use – patching Beat Saber – can function properly whether or not any of the custom song ecosystem is available. But all custom song/list downloading (and mods like ScoreSaber) require the Beat Saver services (for everything) as well as Beast Saber (for lists, bookmarks) to be up and running.

Note: You can upload your own locally stored ZIP custom songs, but if they do not exist on Beat Saver (and the hash values match) – you will lose services like ScoreSaber and the protection of being able to restore your songs from bookmarks.

Beat Saber – The Game With The Songs

Did we really need this section? Kind of.

Beat Saber is worth discussing as part of the custom song ecosystem – not just as a means to play them, but what custom songs mean to the product.

First, most people already know – but to be transparent; modding Beat Saber is a violation of Oculus/Facebook Terms of Service. You can learn a lot more about this in my article discussing the risks of using BMBF.

Second, modded Beat Saber is not recognized by Oculus as being “legit”, meaning that a patched/modded Beat Saber is not allowed to access Oculus services – so no multiplayer, no in-game song scoreboards will work. You cannot buy DLC after patching and have it appear in your game; you can only do so with an unmodified copy – then repatch it.

Well that’s it! If you have any other questions, please feel free to drop into our Discord!