-
Notifications
You must be signed in to change notification settings - Fork 7
Pipelines
Swifter edited this page Feb 9, 2025
·
8 revisions
- You should make yourself familiar with how beatmap projects are structured before continuing, such that you understand roughly what files are in a beatmap and what they do.
Pipelines represent an input and output beatmap. Your map files (Info.dat, difficulties.. etc.) will go through the pipeline (your script) and be outputted to an output directory.

A pipeline is created with the rm.createPipeline function.
const pipeline = await rm.createPipeline()By default it will work in the script's execution directory, but you can provide a path to an Info.dat file that you want to create the pipeline from.
const pipeline = await rm.createPipeline({
infoPath: "C:/Users/swift/BSManager/SharedContent/CustomWIPLevels/Map/Info.dat"
})Use the export function on a pipeline in order to export it to an output directory.
pipeline.export({
outputDirectory: '../OutputMaps/Your Map'
})OutputMaps
└── Your Map
├── Info.dat
├── song.ogg
├── cover.png
├── ExpertPlusStandard.dat
...
In the export function for a pipeline, you can provide a zip object with some additional parameters.
pipeline.export({
outputDirectory: '../OutputMaps',
zip: {
/** Name of the .zip. */
name: 'My Map',
/** (Optional) Add Vivify bundles to the zip. */
includeBundles: true
}
})This will create the zip in the script execution directory.
- Info
- Difficulty
- Beatmap Objects
- Gameplay Objects
- Walls
- Basic Notemods
- Note Iterators
- Basic Events
- V3 Events
- Custom Events
- Heck Tracks and Animation
- Easings
- Point Types
- Point Utilities
- Heck Animation Baking
- Heck Animation Settings
Non-Vivify Models
Vivify