Files
plugin-helper/docs/notes/install-and-verify-plugins-1.44.1.md
2026-06-29 10:57:04 -07:00

42 KiB

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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 verified BeatMods 2.5.9, version id 1352, zipHash 5df74ad1c6b120fecdc615dd55f15b88 IPA loaded INI Parser 2.5.9.
ImageSharp beatmods zip verified BeatMods 2.0.0, version id 1428, zipHash b642fec88b0f84a0643ebd401d08da35 IPA loaded ImageSharp 2.0.0.
System.IO.Compression beatmods 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 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 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 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 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 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, beatmods 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 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 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 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 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 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, beatmods 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 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 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, pr 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 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 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 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 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, beatmods 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, beatmods 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, beatmods 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, beatmods 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 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 todo Vivify TBD Usually Libs/.
BS Utils beatmods zip verified BeatSaverDownloader, BeatLeader BeatMods 1.14.3, version id 2563, zipHash 918d13ac2821a3a17b2819f8861453e9 IPA loaded BS Utils 1.14.3.
CameraUtils github todo Vivify TBD Verify no missing assembly errors.
ImageSharp beatmods zip verified BeatSaberPlaylistsLib BeatMods 2.0.0, version id 1428, zipHash b642fec88b0f84a0643ebd401d08da35 IPA loaded ImageSharp 2.0.0.
Ini Parser beatmods zip verified BS Utils BeatMods 2.5.9, version id 1352, zipHash 5df74ad1c6b120fecdc615dd55f15b88 IPA loaded INI Parser 2.5.9.
LookupID github todo Chroma TBD Verify no missing assembly errors.
OpenVR API github todo TBD TBD Include only if a 1.44.1 dependency needs it.
protobuf-net beatmods 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 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 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 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 No BeatMods verified 1.44.1 entry found on 2026-06-28. Not installed. Revisit only with a compatible source.
Chroma github No BeatMods verified 1.44.1 entry found on 2026-06-28. Not installed. Revisit after Heck is available.
NoodleExtensions github No BeatMods verified 1.44.1 entry found on 2026-06-28. Not installed. Revisit after Heck is available.
Vivify github No BeatMods verified 1.44.1 entry found on 2026-06-28. Not installed. Revisit after Heck is available.
PlaylistManager github 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 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