32 lines
3.5 KiB
Markdown
32 lines
3.5 KiB
Markdown
# Lightshow Mods
|
|
|
|
These plugins play mapper-authored lighting and visuals. The 1.44.1 lock uses
|
|
each mod's newest upstream zip built for Beat Saber 1.42.1. Chroma, Noodle
|
|
Extensions, Vivify, ChromaGLS, and BeatToTheFuture all ship that way, and
|
|
ChromaGLS documents the 1.42.1 plugin as the build for 1.44.1.
|
|
|
|
Mapper docs for the Aeroluna stack live at [heck.aeroluna.dev](https://heck.aeroluna.dev/).
|
|
|
|
## What each mod is for
|
|
|
|
| Mod | Role |
|
|
| --- | --- |
|
|
| [Heck](https://github.com/Aeroluna/Heck) | Shared runtime for Chroma and Noodle Extensions. It reads the custom events those mods animate. It is not a lightshow by itself. |
|
|
| [Chroma](https://github.com/Aeroluna/Heck) | Custom colors for lights, notes, bombs, sabers, and obstacles, plus extra environment controls such as ring movement. LookupID is the small id library Chroma loads with it. |
|
|
| [Noodle Extensions](https://github.com/Aeroluna/Heck) | Moves and reshapes notes, obstacles, and environment objects. Maps that bend the playfield usually require it alongside Chroma. |
|
|
| [Vivify](https://github.com/Aeroluna/Vivify) | Loads mapper-built asset bundles: models, textures, audio, and post-processing shaders, then places them with in-game events. This is the mod for custom scenes, not just recolored stock lights. |
|
|
| [ChromaGLS](https://github.com/EklipZgit/BeatSaberChromaGLS) | Custom RGBA colors, strobe colors, easing, and per-light color spreads on the game's Group Lighting System. Stock GLS still chooses which lights fire; ChromaGLS changes the color of those events. See [Using ChromaGLS](https://github.com/EklipZgit/BeatSaberChromaGLS/blob/master/UsingChromaGLS.md). |
|
|
| [BeatToTheFuture](https://github.com/EklipZgit/BeatToTheFuture) | Keeps newer map data working in the V3 format ChromaGLS uses: V4 walls, variable note jump speed on 1.40.8 and newer, Chroma ring-speed correction, and a `"lerpType": "TrueHSV"` color blend for Chroma. ChromaGLS requires it. |
|
|
| [PitchBlack](https://github.com/Loloppe/BeatSaber_PitchBlack) | Player-side switch that darkens the environment for the person playing. |
|
|
|
|
## Running them together
|
|
|
|
Upstream docs treat this set as one stack.
|
|
|
|
- [ChromaGLS](https://github.com/EklipZgit/BeatSaberChromaGLS) says it works alongside Chroma and Heck, and that it keeps its own DLL. Its [usage guide](https://github.com/EklipZgit/BeatSaberChromaGLS/blob/master/UsingChromaGLS.md#compatibility) says BeatToTheFuture supplies the V4-to-V3 compatibility and the ring-speed correction. When Chroma is loaded, Chroma keeps removing the environment gradient on ChromaGLS maps.
|
|
- [BeatToTheFuture](https://github.com/EklipZgit/BeatToTheFuture) describes itself as the support mod for ChromaGLS maps that still need V4 walls or variable note jump speed. Its ring correction runs once before Chroma reads each event. On 1.42.1 and newer, that slows ring waves on maps published before 29 March 2026 so they match the speed the mapper saw. The gameplay-setup menu has a switch for that correction.
|
|
- `"lerpType": "TrueHSV"` is an extra Chroma blend. Chroma's existing `"HSV"` blend stays as it is.
|
|
- [Vivify](https://github.com/Aeroluna/Vivify) documents custom assets on top of the same Heck mapping events. A search of the ChromaGLS, BeatToTheFuture, and Vivify repositories found no warning against loading Vivify with Chroma or ChromaGLS.
|
|
|
|
ChromaGLS declares these minimums: BeatToTheFuture 1.0.0, BSIPA 4.2.2, CustomJSONData 2.5.2, SongCore 3.11.1, BeatSaberMarkupLanguage 1.5.9, and SiraUtil 3.0.5. BeatToTheFuture declares the same set except itself. The 1.44.1 lock is already above those floors.
|