# Beat Saber 1.44.1 Plugin Install and Verification Tracking document for installing plugins into the Beat Saber 1.44.1 instance with `plugin-helper`, then verifying the game loads and the IPA log stays clean enough to continue. Goal for this pass: get a working 1.44.1 plugin set. If a plugin blocks startup, breaks song loading, or produces serious IPA errors, omit it and record the failure. Do not fix incompatible plugins today. ## Source Baseline Use `docs/notes/mods-used-in-1.40.8.md` as the starting inventory. - 1.40.8 was installed through bs-manager plus some manual/private plugin drops. - 1.44.1 was installed through bs-manager for the game only. - 1.44.1 plugins should be installed through `plugin-helper`, not bs-manager. - BeatMods and GitHub release metadata may differ from the 1.40.8 set, so every selected plugin needs an explicit source/version recorded before install. - Prefer upstream GitHub releases as the artifact source for normal plugins. Use BeatMods as compatibility/dependency metadata by default, and as an artifact source only when the upstream artifact is inaccessible, the package is effectively BeatMods-only, or the package is a framework/library dependency such as the .NET assemblies. ## Current 1.44.1 Instance Observation As of 2026-06-28, the BSManager-managed 1.44.1 instance at `~/.local/share/BSManager/BSInstances/1.44.1` appears to be an unpatched vanilla game tree: - root `IPA/`, `IPA.exe`, `winhttp.dll`, `Libs/`, `Logs/`, and `UserData` are absent - root `Plugins/` exists only because it was created manually and is empty - the only pre-existing `Plugins` directory was `Beat Saber_Data/Plugins`, which contains Unity/runtime native DLLs and must not be treated as the BSIPA mod folder By contrast, the Steam install for the same game version `1.44.1_20239` has BSIPA instrumentation and support files at the game root: - `IPA/`, `IPA.exe`, `winhttp.dll` - `Libs/` - populated root `Plugins/` - `Logs/_latest.log` - `UserData/` This means BSManager's mod installation step does more than place user-selected plugin DLLs. It also materializes the BSIPA loader and shared library substrate that make IPA logs and BSIPA plugin loading possible. `plugin-helper` needs to model that bootstrap layer separately from ordinary plugin batches. The vanilla BSManager 1.44.1 launch did not produce an IPA log because BSIPA was not present. It did produce a Unity `Player.log` under BSManager's shared Proton compatdata and reached Steam/game initialization. So the missing bootstrap layer is not proven to be required for vanilla Beat Saber to execute, but it is required for the modded workflow and may affect the BSManager launch behavior we are trying to reproduce. ## Verification Loop Use the canonical smoketest workflow in `docs/SMOKETEST.md`. For each batch: 1. Back up or snapshot the current 1.44.1 plugin state. 2. Install the selected batch with `plugin-helper`. 3. Start Beat Saber 1.44.1 with the foreground `timeout 10` Proton/FPFC launch. 4. Watch the IPA log during launch and first menu load. 5. Load a known-good custom song if the batch affects songs, playlists, maps, or leaderboards. 6. Record result in this document. 7. If the game fails to load or logs serious plugin errors, remove the failing plugin or batch and retry. Suggested log checks: - startup reaches main menu - no plugin dependency resolution failures - no repeated unhandled exceptions - no missing assembly errors - no hard failures from BSIPA, SiraUtil, BSML, SongCore, or CustomJSONData - custom songs still enumerate - playlist and downloader UI still opens when relevant ## Status Legend - todo: not attempted - planned: source selected, ready to install - installed: copied into the instance - verified: game launched and basic behavior checked - verified with warning: game launched, but the log had a non-blocking warning to track - omitted: skipped for this 1.44.1 pass due to failure or missing compatible release - defer: intentionally left for a later pass ## plugin-helper Work Needed Track the tool work discovered while using it for 1.44.1. | Item | Status | Notes | | --- | --- | --- | | Add or generate a 1.44.1 lockfile | todo | Need exact versions, sources, hashes, and target paths. | | Model BSIPA/bootstrap installation separately | todo | BSManager creates root `IPA/`, `IPA.exe`, `winhttp.dll`, `Libs/`, `Logs`, `UserData`, and root `Plugins/`. | | Resolve BeatMods dependency closure | todo | Use as metadata/advisory input even when downloading plugin artifacts from upstream GitHub. | | Install BeatMods library payloads into `Libs/` | todo | Include framework-library cases when required; these are likely exceptions to GitHub-preferred sourcing. | | Support local/private plugin payloads | todo | Needed for paid closed-source and manual plugins. | | Record install state for every copied file | todo | Required for rollback and clean omission testing. | | Add a batch install workflow or documented command sequence | todo | Useful for two-or-three-at-a-time validation. | | Add IPA log inspection helper | todo | Nice-to-have; manual log watching via `docs/SMOKETEST.md` is acceptable today. | ## Batch Plan Install in small batches. Dependencies may be installed earlier than the plugin that made them necessary, but record that relationship when it is known. ### Batch 0: Game and Loader Baseline Purpose: verify the clean 1.44.1 game and loader before adding gameplay mods. | Plugin | Upstream | Status | Source/version | Verification notes | | --- | --- | --- | --- | --- | | BSIPA | [github](https://github.com/nike4613/BeatSaber-IPA-Reloaded) | verified | GitHub `nike4613/BeatSaber-IPA-Reloaded` tag `4.3.7`, asset `BSIPA-net472-x64.zip`; BeatMods version id 2561, zipHash `947774ef1010ff809ae05e345e269a90` | GitHub asset is byte-identical to the BeatMods CDN zip used for initial bootstrap. Smoketest produced `Logs/_latest.log`; IPA reported game version 1.44.1 and BSIPA 4.3.7. | ### Batch 1: Core Song Loading Purpose: get custom song loading working before UI, leaderboard, or cosmetic mods are added. | Plugin | Upstream | Status | Source/version | Verification notes | | --- | --- | --- | --- | --- | | SongCore | [beatmods zip](https://beatmods.com/cdn/mod/0af9c0a03074c17ca15c1b667a0e30c8.zip) | verified | BeatMods 3.16.0, version id 2564, zipHash `0af9c0a03074c17ca15c1b667a0e30c8`; BeatMods preferred repo `Kylemc1413/SongCore` currently has no matching 3.16.0 GitHub release asset | IPA loaded SongCore; full song refresh loaded 2 songs from `CustomLevels`. Keep as BeatMods CDN fallback until a matching upstream asset is found. | | BeatSaberMarkupLanguage | [github](https://github.com/monkeymanboy/BeatSaberMarkupLanguage) | verified | GitHub `monkeymanboy/BeatSaberMarkupLanguage` tag `v1.14.1`, asset `BeatSaberMarkupLanguage-v1.14.1+bs.1.41.1-RELEASE.zip`; BeatMods version id 2567, zipHash `46149d03f8549e07f2c88fefde4337b2` | GitHub asset is byte-identical to the BeatMods CDN zip used for initial bootstrap. IPA loaded BSML; font fallback warnings only. | | SiraUtil | [github](https://github.com/Auros/SiraUtil) | verified | GitHub `Auros/SiraUtil` tag `v3.3.1`, asset `SiraUtil-v3.3.1+bs.1.42.0.zip`; BeatMods version id 2565, zipHash `ae14f7d3192a919d5d996c802fbde037` | GitHub asset is byte-identical to the BeatMods CDN zip used for initial bootstrap. IPA loaded SiraUtil and installed app/menu installers. | ### Batch 2: Custom Map Capabilities Purpose: enable common map extensions after basic song loading is proven. | Plugin | Upstream | Status | Source/version | Verification notes | | --- | --- | --- | --- | --- | | CustomJSONData | [github](https://github.com/Aeroluna/CustomJSONData) | verified | GitHub `Aeroluna/CustomJSONData` tag `v2.6.8`, asset `CustomJSONData-2.6.8+1.40.0-bs1.40.0-7c2c32c.zip`; BeatMods version id 2327, zipHash `fed31638bbb678580ef760ec83cfd486` | GitHub asset is byte-identical to the BeatMods CDN zip. IPA loaded CustomJSONData 2.6.8+1.40.0; game reached main initialization; SongCore still loaded 2 custom songs. | | Heck | [github](https://github.com/Aeroluna/Heck) | verified | GitHub `Aeroluna/Heck` tag `v2026-05-02`, asset `Heck-1.8.3+1.42.1-bs1.42.1-3ebc6a2.zip`; no BeatMods verified 1.44.1 entry found on 2026-06-28 | Latest upstream Heck asset targets `bs1.42.1`; IPA loaded Heck 1.8.3+1.42.1 and installed Heck app/menu installers during smoketest. | | Chroma | [github](https://github.com/Aeroluna/Heck) | verified | GitHub `Aeroluna/Heck` tag `v2026-02-23`, asset `Chroma-2.9.22+1.42.1-bs1.42.1-b38d924.zip`; no BeatMods verified 1.44.1 entry found on 2026-06-28 | Required `LookupID` 1.0.1. Latest upstream Chroma asset targets `bs1.42.1`; IPA loaded Chroma 2.9.22+1.42.1 and installed Chroma app/menu installers during smoketest. | | NoodleExtensions | [github](https://github.com/Aeroluna/Heck) | verified | GitHub `Aeroluna/Heck` tag `v2026-05-09`, asset `NoodleExtensions-1.7.21+1.42.1-bs1.42.1-3bbcaf6.zip`; no BeatMods verified 1.44.1 entry found on 2026-06-28 | Latest upstream Noodle Extensions asset targets `bs1.42.1`; IPA loaded NoodleExtensions 1.7.21+1.42.1 and installed Noodle app installer during smoketest. | | Vivify | [github](https://github.com/Aeroluna/Vivify) | verified | GitHub `Aeroluna/Vivify` tag `v1.1.0`, asset `Vivify-1.1.0+1.42.1-bs1.42.1-f83aa3c.zip`; no BeatMods verified 1.44.1 entry found on 2026-06-28 | Required `CameraUtils` 1.0.8 and `AssetBundleLoadingTools` 1.1.13. Latest upstream Vivify asset targets `bs1.42.1`; IPA loaded Vivify 1.1.0+1.42.1, installed Vivify app/menu installers, and created camera controllers during smoketest. | ### Batch 3: Downloaders and Playlists Purpose: restore in-game song discovery and playlist management. | Plugin | Upstream | Status | Source/version | Verification notes | | --- | --- | --- | --- | --- | | BeatSaverDownloader | [beatmods zip](https://beatmods.com/cdn/mod/a740c6e68a9b5d1dfda3cc8e81f7cf06.zip) | verified with warning | BeatMods 6.0.7, version id 2217, zipHash `a740c6e68a9b5d1dfda3cc8e81f7cf06`; BeatMods preferred repo `Top-Cat/BeatSaverDownloader` exposes no release assets through the GitHub releases API | IPA loaded BeatSaver Downloader 6.0.7 and started its internal webserver. Warning: it probed for missing `BetterSongList.dll` with IPA library-loader `CRITICAL` lines, then continued. | | PlaylistManager | [github](https://github.com/rithik-b/PlaylistManager) | verified | Local PR82 build from `.state/build/playlistmanager-pr82-skilltest`, artifact `PlaylistManager-1.7.4-bs1.44.0-da1ad17.zip`; replaces failed BeatMods 1.7.3 compatibility trial | IPA loaded PlaylistManager 1.7.4, installed `PlaylistManagerAppInstaller`, and reached `MainSystemInit` during smoketest. The old `IPlatformUserModel` / `PlatformUserModel` failure did not recur. | | BeatSaverUpdater | [github](https://github.com/ibillingsley/BeatSaverUpdater) | verified | GitHub `ibillingsley/BeatSaverUpdater` tag `1.2.11`, asset `BeatSaverUpdater-1.2.11-bs1.39.1-3698f98.zip`; BeatMods version id 2352, zipHash `d9ea8dd0cbaac66cbb02fa59a548e42b` | GitHub asset is byte-identical to the BeatMods CDN zip. IPA loaded BeatSaverUpdater 1.2.11. | | BeatSaverVoting | [beatmods zip](https://beatmods.com/cdn/mod/bc002ed1a43e2c6d3a10d0750e5d94b4.zip) | failed compatibility trial | BeatMods 2.4.6, version id 2159, zipHash `bc002ed1a43e2c6d3a10d0750e5d94b4`; most recent blessed entry found was for Beat Saber 1.40.8, with no BeatMods verified entry for 1.44.1, 1.44.0, 1.43.0, 1.42.0, or 1.41.1 | IPA discovered and loaded BeatSaverVoting 2.4.6, but BS Utils caught a menu event failure from `BeatSaverVoting` caused by `TypeLoadException` resolving `IPlatformUserModel` from `PlatformUserModel`. Removed from the live instance after the failed smoketest. | | BeatSaberPlaylistsLib | [beatmods zip](https://beatmods.com/cdn/mod/a3418b75ed7294a3856f3eca12bbd672.zip) | verified | BeatMods 1.7.2, version id 2175, zipHash `a3418b75ed7294a3856f3eca12bbd672`; BeatMods preferred repo `Meivyn/BeatSaberPlaylistsLib` exposes no release assets through the GitHub releases API | IPA loaded BeatSaberPlaylistsLib 1.7.2. | | BeatSaverSharp | [beatmods zip](https://beatmods.com/cdn/mod/be37e13e93d9ac7da4efbdc3f514fa8f.zip) | verified | BeatMods 3.4.5, version id 1831, zipHash `be37e13e93d9ac7da4efbdc3f514fa8f`; BeatMods preferred repo `lolPants/BeatSaverSharp` was inaccessible through the GitHub releases API | IPA loaded BeatSaverSharp 3.4.5. | | ScoreSaberSharp | [beatmods zip](https://beatmods.com/cdn/mod/8713168c598577ee7c73fa3cf0e26f5c.zip) | verified with warning | BeatMods 0.1.0, version id 445, zipHash `8713168c598577ee7c73fa3cf0e26f5c`; BeatMods lists `scoresaber.com` rather than a GitHub release source | IPA loaded ScoreSaberSharp 0.1.0. Warning: bare manifest does not declare files. | | BS Utils | [beatmods zip](https://beatmods.com/cdn/mod/918d13ac2821a3a17b2819f8861453e9.zip) | verified | BeatMods 1.14.3, version id 2563, zipHash `918d13ac2821a3a17b2819f8861453e9`; BeatMods preferred repo `Kylemc1413/Beat-Saber-Utils` exposes no matching 1.14.3 GitHub release asset | IPA loaded BS Utils 1.14.3. | | Ini Parser | [beatmods zip](https://beatmods.com/cdn/mod/5df74ad1c6b120fecdc615dd55f15b88.zip) | verified | BeatMods 2.5.9, version id 1352, zipHash `5df74ad1c6b120fecdc615dd55f15b88` | IPA loaded INI Parser 2.5.9. | | ImageSharp | [beatmods zip](https://beatmods.com/cdn/mod/b642fec88b0f84a0643ebd401d08da35.zip) | verified | BeatMods 2.0.0, version id 1428, zipHash `b642fec88b0f84a0643ebd401d08da35` | IPA loaded ImageSharp 2.0.0. | | System.IO.Compression | [beatmods zip](https://beatmods.com/cdn/mod/a4e9e26f61967e56168e08eecb01ab88.zip) | verified with warning | BeatMods 4.6.57, version id 1763, zipHash `a4e9e26f61967e56168e08eecb01ab88` | IPA loaded System.IO.Compression 4.6.57. Warning: duplicate-library notice because the game also ships this assembly. | | System.IO.Compression.FileSystem | [beatmods zip](https://beatmods.com/cdn/mod/e19f6fd395d54de7bfcbbbe3084dea28.zip) | verified | BeatMods 4.7.3056, version id 1762, zipHash `e19f6fd395d54de7bfcbbbe3084dea28` | IPA loaded System.IO.Compression.FileSystem 4.7.3056. | ### Batch 4: Leaderboards and Ranking Purpose: add online leaderboard/ranking integrations after core song behavior is stable. | Plugin | Upstream | Status | Source/version | Verification notes | | --- | --- | --- | --- | --- | | ScoreSaber | [github](https://github.com/ScoreSaber/pc-mod) | verified with warning | GitHub `ScoreSaber/pc-mod` tag `v3.3.27`, asset `ScoreSaber-v3.3.27-bs1.42.0-to-1.44.0-9b4cfcf.zip`; GitHub release digest matched downloaded asset | IPA loaded ScoreSaber 3.3.27 and synchronized its clock. Warning: FPFC/no-VR smoke logged `openxr_loader not found` while trying to get HMD info. | | BeatLeader + LeaderboardCore | [github](https://github.com/BeatLeader/beatleader-mod) | verified with warning | GitHub `BeatLeader/beatleader-mod` tag `v0.10.0`, asset `BeatLeader-0.10.0-bs1.42+.zip`; GitHub release digest matched downloaded asset; archive bundles `Plugins/LeaderboardCore.dll`, superseding the standalone BeatMods CDN trial | IPA loaded BeatLeader 0.10.0 and bundled LeaderboardCore 1.7.0, made BeatLeader API requests, and patched 13 ScoreSaber installers. Warnings: optional interop plugins missing; FPFC/no-VR smoke logged OpenXR session not running; bundled LeaderboardCore logged a Harmony patch error for `PanelView_SetIsLoaded`. | | AccSaber | [github](https://github.com/not-dexter/accsaber-reloaded-plugin) | failed compatibility trial | GitHub `not-dexter/accsaber-reloaded-plugin` tag `v1.1.3`, asset `1.40.8.zip`; GitHub release digest matched downloaded asset; latest release has no 1.44.x asset | IPA loaded AccSaber 1.1.3, but the smoke log hit `TypeLoadException: Invalid type AccSaber.Managers.AccSaberStore` for `AccSaberMissionScreen`. Removed from the live instance after the failed trial. | | SongRankedBadge | [github](https://github.com/qe201020335/SongRankedBadge) | verified with warning | GitHub `qe201020335/SongRankedBadge` tag `v1.0.6`, asset `SongRankedBadge-1.0.6-bs1.40.0-88ee233.zip`; BeatMods version id 2267, zipHash `c6944b8a4b00b0c0bb1d44f273b3bb18` | IPA loaded SongRankedBadge 1.0.6, resolved SongDetailsCache, loaded song details, and initialized. Warning: manifest targets Beat Saber 1.40.0. | ### Batch 5: Practice and Gameplay Tweaks Purpose: add small gameplay helpers two or three at a time. | Plugin | Upstream | Status | Source/version | Verification notes | | --- | --- | --- | --- | --- | | IntroSkip | [github](https://github.com/Loloppe/Intro-Skip), [beatmods zip](https://beatmods.com/cdn/mod/7d98ae6049251eb4e3226a5c8ac675b3.zip) | verified with warning | BeatMods 4.0.8, version id 2570, zipHash `7d98ae6049251eb4e3226a5c8ac675b3`; replaces failed GitHub `Loloppe/Intro-Skip` tag `4.0.5`, asset `IntroSkip-v4.0.5+bs.1.37.2.zip` | IPA loaded Intro Skip 4.0.8 and the game reached `MainSystemInit`; the old `IntroSkip.UI.SettingsHost` `TypeLoadException` did not recur. Warning: manifest targets Beat Saber 1.40.11. | | FailButton | [github](https://github.com/qe201020335/FailButton) | verified with warning | GitHub `qe201020335/FailButton` tag `v0.0.4`, asset `FailButton-0.0.4-bs1.39.0-b6415fb.zip` | IPA loaded FailButton 0.0.4 and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.39.0. | | EasyOffset | [github](https://github.com/Reezonate/EasyOffset) | verified with warning | GitHub `Reezonate/EasyOffset` tag `v2.1.16`, asset `EasyOffset.dll`; GitHub release digest matched downloaded asset | IPA loaded EasyOffset 2.1.16, fetched remote config successfully, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.42.0. | | GottaGoFast | [github](https://github.com/kinsi55/CS_BeatSaber_GottaGoFast) | verified | GitHub `kinsi55/CS_BeatSaber_GottaGoFast` tag `v0.2.5`, asset `GottaGoFast.dll`; GitHub release digest matched downloaded asset | IPA loaded Gotta Go Fast 0.2.5 and the game reached `MainSystemInit`. | | HitsoundTweaks | [github](https://github.com/GalaxyMaster2/HitsoundTweaks) | failed compatibility trial | GitHub `GalaxyMaster2/HitsoundTweaks` tag `v1.1.9`, asset `HitsoundTweaks-1.1.9-bs1.40.3-4ad8461.zip`; GitHub release digest matched downloaded asset | IPA loaded HitsoundTweaks 1.1.9, but SiraUtil failed to apply the `AudioTimeSyncController_dspTimeOffset_Patch` affinity patch with `InvalidProgramException`. Removed from the live instance after the failed smoke. BeatMods verified search on 2026-06-29 found no `HitsoundTweaks` entry for Beat Saber 1.42.0, 1.42.1, 1.43.0, 1.44.0, or 1.44.1. | | KeepMyOverridesPls | [github](https://github.com/qqrz997/KeepMyOverridesPls) | verified with warning | GitHub `qqrz997/KeepMyOverridesPls` tag `v1.1.3-b`, asset `KeepMyOverridesPls-1.1.3-bs1.40.6-487d417.zip`; GitHub release digest matched downloaded asset | IPA loaded KeepMyOverridesPls 1.1.3, installed its app installer, wrote config, and the game reached `MainSystemInit`. Warnings: manifest targets Beat Saber 1.40.6 and plugin has no start/exit methods. | | SoundReplacer | [github](https://github.com/Meivyn/SoundReplacer), [beatmods zip](https://beatmods.com/cdn/mod/7d7a869996e10249d1f85f95e060319b.zip) | verified with warning | BeatMods 2.0.1, version id 2213, zipHash `7d7a869996e10249d1f85f95e060319b`; GitHub releases API returned no releases on 2026-06-29 | IPA loaded SoundReplacer 2.0.1, installed its app and menu installers, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.29.4. | | KeyRemapper | [github](https://github.com/lyyQwQ/KeyRemapper) | verified with warning | GitHub `lyyQwQ/KeyRemapper` tag `0.3.0`, asset `KeyRemapper-0.3.0-bs1.39.1-8e4c11a.zip`; GitHub release digest matched downloaded asset | IPA loaded KeyRemapper 0.3.0, initialized config, installed menu bindings, registered the Key Remapper button, and the game reached `MainSystemInit`. Warnings: manifest targets Beat Saber 1.39.1 and FPFC smoke logged dummy input manager because runtime was null. | | SquatToBegin | [github](https://github.com/kinsi55/BeatSaber_SquatToBegin) | verified with warning | GitHub `kinsi55/BeatSaber_SquatToBegin` tag `v0.0.7`, asset `SquatToBegin.dll`; GitHub release digest matched downloaded asset | IPA loaded SquatToBegin 0.0.7 and the game reached `MainSystemInit`. Warnings: manifest reports Beat Saber 1.20.0 despite the GitHub release being labeled for 1.39.1+, and plugin has no start/exit methods. Verify squat gate behavior outside FPFC when practical. | | JDFixer | [github](https://github.com/zeph-yr/JDFixer), [pr](https://github.com/zeph-yr/JDFixer/pull/26) | installed; smoke blocked | Local build from PR 26 commit `3fce6ce465911bdd5e8e00411bc4672c54a317f7`, asset `JDFixer.dll`; SHA-256 `16b7dad9906d838dab40ce48a9b304be4847f18e700ddd31f2293d1065f4529d` | IPA loaded JDFixer 7.4.0 and the prior `OnEnable` Harmony failure did not recur; JDFixer logged config/donate activity. The smoke did not reach the main menu because Steam platform initialization failed (`SteamAPI Init failed`, Steam likely not running). Replaces failed GitHub `zeph-yr/JDFixer` tag `v.7.4.0`, asset `JDFixer.dll`, SHA-256 `a83ae3f68921a9698616ecd89d08b7397a550c2464a7871b6c65506ce0c7d360`; that release loaded JDFixer 7.4.0, but `OnEnable` failed with a Harmony patching exception because `StandardLevelScenesTransitionSetupDataSOPatch::TargetMethod()` returned null. | ### Batch 6: UI and Song Browser Purpose: restore song-list, menu, and visualization conveniences. | Plugin | Upstream | Status | Source/version | Verification notes | | --- | --- | --- | --- | --- | | BetterSongList | [github](https://github.com/kinsi55/BeatSaber_BetterSongList) | verified with warning | GitHub `kinsi55/BeatSaber_BetterSongList` tag `v0.4.3`, asset `BetterSongList.dll`; GitHub release digest matched downloaded asset | IPA loaded BetterSongList 0.4.3 and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.42.0. | | HitScoreVisualizer | [github](https://github.com/ErisApps/HitScoreVisualizer) | verified with warning | GitHub `ErisApps/HitScoreVisualizer` tag `3.7.3`, asset `HitScoreVisualizer-3.7.3-bs1.42.0-a565cbb.zip`; GitHub release digest matched downloaded asset | IPA loaded HitScoreVisualizer 3.7.3, installed app/menu installers, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.42.0. | | DiTails | [github](https://github.com/Auros/DiTails) | failed compatibility trial | GitHub `Auros/DiTails` tag `1.1.3`, asset `DiTails-v1.1.3-g1.42.0-271d394.zip`; GitHub release digest matched downloaded asset; BeatMods also verifies DiTails 1.1.3 for 1.44.1 as version id 2609, zipHash `437904f6db78a2ee928738d7d254a93f` | IPA loaded DiTails 1.1.3, but menu initialization failed in `DiTails.Managers.DetailContextManager.Initialize()` with `NullReferenceException`. Removed from the live instance after the failed smoke. | | HideTheLogo | [github](https://github.com/TheBlackParrot/HideTheLogo) | verified with warning | GitHub `TheBlackParrot/HideTheLogo` tag `1.0.3`, asset `HideTheLogo-1.0.3-bs1.40.3-c968d91.zip` | IPA loaded HideTheLogo 1.0.3, logged `yeet`, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.40.3. | | SongChartVisualizer | [github](https://github.com/NuggoDEV/SongChartVisualizer), [beatmods zip](https://beatmods.com/cdn/mod/5d3fc025fe098277667fc0846e1b8fe3.zip) | verified with warning | BeatMods 1.1.11, version id 2249, zipHash `5d3fc025fe098277667fc0846e1b8fe3`; GitHub releases API returned no releases on 2026-06-29 | IPA loaded SongChartVisualizer 1.1.11, installed app/menu installers, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.39.1. | | Setlist | | skipped after local-build trial | Local build from `/home/pleb/ops/beatsaber/setlist` commit `14d21ad` with working tree modifications; first SHA-256 `01ecba3cfa697488faddf6eb8bfcc1aedff5d95f4b5a9f673f70b0ff150f5ab9`, rebuilt SHA-256 `57f07f5d99505ee35d45b3914484434fed98113c84cb94e74c6b362abd2216a1` after manifest dependency fix | First smoke ignored Setlist because `BeatLeader@^0.9.0` did not accept installed BeatLeader 0.10.0; after widening to `>=0.9.0`, IPA loaded Setlist 0.1.0 but only logged `No playlists loaded` and did not produce the expected `platformUserId`/playlist ownership lines. Removed from the live instance per skip instruction. | ### Batch 7: Cosmetic, Camera, and Lighting Purpose: add visual and stream-facing mods after functional mods are stable. | Plugin | Upstream | Status | Source/version | Verification notes | | --- | --- | --- | --- | --- | | AdBlocker | [github](https://github.com/JonnyVR1/AdBlocker), [beatmods zip](https://beatmods.com/cdn/mod/cd397e93b1a03f163534483462edf768.zip) | verified with warning | BeatMods 1.0.5, version id 1872, zipHash `cd397e93b1a03f163534483462edf768`; GitHub releases API returned no releases on 2026-06-29 | IPA loaded AdBlocker 1.0.5, logged `AdBlocker initialized`, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.34.2. | | HighlightBombs | [github](https://github.com/Meivyn/HighlightBombs), [beatmods zip](https://beatmods.com/cdn/mod/4bedaa80ce5dda8414fea7d914fb94ad.zip) | verified with warning | BeatMods 1.0.3, version id 2066, zipHash `4bedaa80ce5dda8414fea7d914fb94ad`; GitHub latest release v1.0.1 is older than the BeatMods-verified package | IPA loaded HighlightBombs 1.0.3, installed its app installer, loaded QuickOutline material, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.32.0. In-song bomb visuals not exercised in FPFC smoke. | | PitchBlack | [github](https://github.com/Loloppe/BeatSaber_PitchBlack), [beatmods zip](https://beatmods.com/cdn/mod/65656bf33b2a0b356c381132387ea7ea.zip) | verified with warning | GitHub `Loloppe/BeatSaber_PitchBlack` tag `0.03`, asset `PitchBlack-v0.0.3-bs1.39.1.zip`; BeatMods version id 2233, zipHash `65656bf33b2a0b356c381132387ea7ea`; GitHub asset is byte-identical to the BeatMods CDN zip | IPA loaded PitchBlack 0.0.3, generated config, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.39.1. In-song lighting behavior not exercised in FPFC smoke. | | Dimmer | | todo | TBD | Manual install candidate. | | ReeCamera | [github](https://github.com/Reezonate/ReeCamera) | verified with warning | GitHub `Reezonate/ReeCamera` tag `v0.0.5`, asset `ReeCamera.1.42.0.zip`; GitHub release digest matched downloaded asset | IPA loaded ReeCamera 0.0.5, logged Spout load success, installed app/menu installers, and the game reached `MainSystemInit`. Warnings: manifest targets Beat Saber 1.42.0; first launch logged missing `UserData/ReeCamera.json` until the mod creates it on exit per upstream docs. Archive also replaced bundled `Plugins/CameraUtils.dll`. Camera presets not exercised in FPFC smoke. | ### Batch 8: Paid or Closed-Source Plugins Purpose: restore private plugin set only after public/dependency-heavy mods are known good. | Plugin | Upstream | Status | Source/version | Verification notes | | --- | --- | --- | --- | --- | | ReeSabers | | todo | paid/private | Verify saber visuals in VR when practical. | | BeatSaberPlus_Chat | | todo | local/private | Verify startup and module UI. | | BeatSaberPlus_ChatEmoteRain | | todo | local/private | Verify startup. | | BeatSaberPlus_ChatIntegrations | | todo | local/private | Verify startup. | | BeatSaberPlus_ChatRequest | | todo | local/private | Verify startup. | | BeatSaberPlus_GameTweaker | | todo | local/private | Verify startup. | | BeatSaberPlus_MenuMusic | | todo | local/private | Verify startup. | | BeatSaberPlus_Multiplayer | | todo | local/private | Verify startup. | | BeatSaberPlus_NoteTweaker | | todo | local/private | Verify startup. | | BeatSaberPlus_SongChartVisualizer | | todo | local/private | Verify startup. | | BeatSaberPlus_SongOverlay | | todo | local/private | Verify startup. | | NalulunaMenu | | todo | local/private | Verify startup and menu. | | NalulunaCounters | | todo | local/private | Verify in-song counters. | | NalulunaLevelDetail | | todo | local/private | Verify song detail panel. | | NalulunaSliceVisualizer | | todo | local/private | Verify in-song visuals. | | NalulunaSongPreview | | todo | local/private | Verify song preview. | | NalulunaMissIndicator | | todo | local/private | Verify in-song visuals. | | NalulunaEnergy | | todo | local/private | Verify in-song HUD. | | NalulunaFps | | todo | local/private | Verify overlay. | | NalulunaPPCoin | | todo | local/private | Verify startup. | | NalulunaRewinder | | todo | local/private | Verify startup. | | NalulunaAvatars | | todo | local/private | Verify avatar load. | | NalulunaShaders | | todo | local/private | Verify dependency for Naluluna visuals. | | NalulunaSkybox | | todo | local/private | Verify skybox sample manifest and skybox load. | | NalulunaUtils | | todo | local/private | Verify dependency load. | ## Shared Libraries and Dependency Packages These should be installed because selected plugins require them, not because they are user-facing features. | Package | Upstream | Status | Required by | Source/version | Verification notes | | --- | --- | --- | --- | --- | --- | | AssetBundleLoadingTools | [github](https://github.com/nicoco007/AssetBundleLoadingTools) | todo | Vivify | TBD | Usually `Libs/`. | | BS Utils | [beatmods zip](https://beatmods.com/cdn/mod/918d13ac2821a3a17b2819f8861453e9.zip) | verified | BeatSaverDownloader, BeatLeader | BeatMods 1.14.3, version id 2563, zipHash `918d13ac2821a3a17b2819f8861453e9` | IPA loaded BS Utils 1.14.3. | | CameraUtils | [github](https://github.com/Reezonate/CameraUtils) | todo | Vivify | TBD | Verify no missing assembly errors. | | ImageSharp | [beatmods zip](https://beatmods.com/cdn/mod/b642fec88b0f84a0643ebd401d08da35.zip) | verified | BeatSaberPlaylistsLib | BeatMods 2.0.0, version id 1428, zipHash `b642fec88b0f84a0643ebd401d08da35` | IPA loaded ImageSharp 2.0.0. | | Ini Parser | [beatmods zip](https://beatmods.com/cdn/mod/5df74ad1c6b120fecdc615dd55f15b88.zip) | verified | BS Utils | BeatMods 2.5.9, version id 1352, zipHash `5df74ad1c6b120fecdc615dd55f15b88` | IPA loaded INI Parser 2.5.9. | | LookupID | [github](https://github.com/Aeroluna/Heck) | todo | Chroma | TBD | Verify no missing assembly errors. | | OpenVR API | [github](https://github.com/nicoco007/BeatSaber-OpenVR-API) | todo | TBD | TBD | Include only if a 1.44.1 dependency needs it. | | protobuf-net | [beatmods zip](https://beatmods.com/cdn/mod/1f55ae4b80b747b5f03fa18337ead864.zip) | verified with warning | SongDetailsCache | BeatMods 3.0.102, version id 958, zipHash `1f55ae4b80b747b5f03fa18337ead864` | IPA loaded protobuf-net 3.0.102. Warning: manifest targets Beat Saber 1.13.2. | | SongDetailsCache | [github](https://github.com/kinsi55/BeatSaber_SongDetails) | verified with warning | BetterSongList, SongRankedBadge | GitHub `kinsi55/BeatSaber_SongDetails` tag `v1.4.0`, asset `SongDetailsCache.BS.Lib.zip`; BeatMods version id 2226, zipHash `e1167b64cd3eff7e3651ec2dbbe50d81` | IPA loaded SongDetailsCache 1.4.0 and SongRankedBadge used it to load song details. Warning: manifest targets Beat Saber 1.13.2. | | System.IO.Compression | [beatmods zip](https://beatmods.com/cdn/mod/a4e9e26f61967e56168e08eecb01ab88.zip) | verified with warning | BeatSaberPlaylistsLib, System.IO.Compression.FileSystem | BeatMods 4.6.57, version id 1763, zipHash `a4e9e26f61967e56168e08eecb01ab88` | IPA loaded System.IO.Compression 4.6.57; logged a duplicate-library notice because the game also ships this assembly. | | System.IO.Compression.FileSystem | [beatmods zip](https://beatmods.com/cdn/mod/e19f6fd395d54de7bfcbbbe3084dea28.zip) | verified | BeatSaverDownloader | BeatMods 4.7.3056, version id 1762, zipHash `e19f6fd395d54de7bfcbbbe3084dea28` | IPA loaded System.IO.Compression.FileSystem 4.7.3056. | | Dynamic Bone | | defer | TBD | TBD | Include only if a selected 1.44.1 mod requires it. | | Final IK | | defer | TBD | TBD | Include only if a selected 1.44.1 mod requires it. | ## Omitted Plugins Record plugins skipped for this 1.44.1 pass. This is not a fix list for today. | Plugin | Upstream | Reason omitted | Evidence/log note | Follow-up | | --- | --- | --- | --- | --- | | Heck | [github](https://github.com/Aeroluna/Heck) | No BeatMods verified 1.44.1 entry found on 2026-06-28. | Not installed. | Revisit only with a compatible source. | | Chroma | [github](https://github.com/Aeroluna/Heck) | No BeatMods verified 1.44.1 entry found on 2026-06-28. | Not installed. | Revisit after Heck is available. | | NoodleExtensions | [github](https://github.com/Aeroluna/Heck) | No BeatMods verified 1.44.1 entry found on 2026-06-28. | Not installed. | Revisit after Heck is available. | | Vivify | [github](https://github.com/Aeroluna/Vivify) | No BeatMods verified 1.44.1 entry found on 2026-06-28. | Not installed. | Revisit after Heck is available. | | PlaylistManager | [github](https://github.com/rithik-b/PlaylistManager) | No BeatMods verified 1.44.1 entry found on 2026-06-28; latest blessed BeatMods entry found was 1.7.3 for Beat Saber 1.40.8. | Installed for a compatibility trial, then removed after smoketest failure. | Fails on 1.44.1 menu setup with `IPlatformUserModel` / `PlatformUserModel` type resolution; needs a newer compatible build. | | BeatSaverVoting | [beatmods zip](https://beatmods.com/cdn/mod/bc002ed1a43e2c6d3a10d0750e5d94b4.zip) | No BeatMods verified 1.44.1 entry found on 2026-06-28; latest blessed BeatMods entry found was 2.4.6 for Beat Saber 1.40.8. | Installed for a compatibility trial, then removed after smoketest failure. | Fails on 1.44.1 menu event handling with `IPlatformUserModel` / `PlatformUserModel` type resolution; needs a newer compatible build. | ## Batch Results | Batch | Date | Result | IPA log notes | Action | | --- | --- | --- | --- | --- | | 0 | 2026-06-28 | verified | BSIPA 4.3.7 installed and generated `Logs/_latest.log`. | Continue to dependency/plugin batches. | | 1 | 2026-06-28 | verified | BSML, SiraUtil, and SongCore loaded; SongCore loaded 2 custom songs. Warnings: older target game-version metadata, missing Windows fonts, missing `CustomWIPLevels/Cache/Info.dat`, and one built-in `Magic.wav` duration approximation. | Treat as acceptable bootstrap baseline. | | 2 | 2026-06-28 | verified | CustomJSONData loaded; startup reached main initialization; SongCore still loaded 2 custom songs. Warnings: older target game-version metadata, missing Windows fonts, and missing `CustomWIPLevels/Cache/Info.dat`. | Continue to downloader/playlist batch. | | 3 | 2026-06-28 | verified with warning | BeatSaverDownloader, BeatSaverUpdater, BeatSaberPlaylistsLib, BeatSaverSharp, ScoreSaberSharp, BS Utils, Ini Parser, ImageSharp, and System.IO.Compression packages loaded; startup reached main initialization; SongCore still loaded 2 custom songs. Warning: BeatSaverDownloader probed for missing `BetterSongList.dll` with IPA library-loader `CRITICAL` lines, then continued and started its internal webserver. | Stop here per request; consider installing BetterSongList before deeper downloader UI testing. | | 4 | 2026-06-29 | verified with warning | Installed and smoke-tested ScoreSaber, BeatLeader, BeatLeader-bundled LeaderboardCore, SongRankedBadge, SongDetailsCache, and protobuf-net. AccSaber Reloaded was trialed from the user-provided GitHub release page and removed after a compatibility failure. | Warnings: ScoreSaber and BeatLeader assets target 1.42.x/1.44.0 ranges rather than explicit 1.44.1; BeatLeader-bundled LeaderboardCore logged a Harmony patch error; AccSaber 1.40.8 asset failed with a `TypeLoadException`; existing BeatSaverDownloader BetterSongList probe still logs `CRITICAL` library-loader lines. | | 5 | | todo | | | | 6 | | todo | | | | 7 | 2026-06-29 | verified with warning | Installed and smoke-tested AdBlocker 1.0.5, HighlightBombs 1.0.3, PitchBlack 0.0.3, and ReeCamera 0.0.5. All four loaded and the game reached `MainSystemInit`. HighlightBombs installed its app installer and loaded QuickOutline material. ReeCamera logged Spout load success and installed app/menu installers. | Warnings: all four manifests target older Beat Saber versions (1.34.2, 1.32.0, 1.39.1, 1.42.0). AdBlocker and PitchBlack used BeatMods CDN or byte-identical GitHub assets because JonnyVR1/AdBlocker exposes no GitHub releases and HighlightBombs BeatMods 1.0.3 is newer than GitHub v1.0.1. ReeCamera first launch logged missing `UserData/ReeCamera.json` until mod creates it on exit; archive replaced bundled `CameraUtils.dll`. In-song bomb/lighting/camera visuals were not exercised in FPFC smoke. Pre-existing LeaderboardCore and PlaylistManager errors still appear in the log. | | 8 | | todo | | |