NowWatchThisDrive
Replaces the nice-shot announcer line with the now-watch-this-drive clip on a 100% charged swing.
| Date uploaded | a month ago |
| Version | 0.4.0 |
| Download link | Cray-NowWatchThisDrive-0.4.0.zip |
| Downloads | 622 |
| Dependency string | Cray-NowWatchThisDrive-0.4.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
NowWatchThisDrive
Replaces the announcer's "nice shot" audio with the classic "now watch this drive" clip whenever you pull off a 100%-charged swing. In multiplayer, if other players in the match also have the mod installed, the clip is replicated to every client and played from the swinger's world position.
Install
Via r2modman or Thunderstore Mod Manager — search for Cray-NowWatchThisDrive and install.
Manual install: drop both files into
<r2modman profile>/BepInEx/plugins/Cray-NowWatchThisDrive/:
NowWatchThisDrive.dllNowWatchThisDrive.wav
Requires BepInExPack 5.4.2305.
How it works
Super Battle Golf has Unity's native audio disabled and routes everything through FMOD. The
mod preloads the bundled WAV through FMODUnity.RuntimeManager.CoreSystem.createSound, then
Harmony-prefixes CourseManager.PlayAnnouncerLineLocalOnly — when the announcer would play
NiceShot, we play the override clip instead and skip the vanilla FMOD event. Every other
announcer line (hole-in-one, overtime, …) is untouched.
In multiplayer, the mod does not send any custom network messages. Instead, it follows the game's
existing replicated SwingNiceShot VFX event and plays the clip as 3D FMOD audio from that
position on each modded client. Players without the mod keep vanilla behavior and are not affected.
Building from source
Requirements: .NET SDK 7.0+, a Super Battle Golf install (Steam default path is auto-detected).
git clone https://github.com/Calen-Ray/SBG-now-watch-this-drive.git
cd SBG-now-watch-this-drive
dotnet build -c Release
Override the game path or r2modman profile by copying Developer.props.example to
Developer.props and editing.
Swapping the audio clip
Source WAV is Audio/NowWatchThisDrive.wav (16-bit PCM, 44.1 kHz stereo). Replace the file and
rebuild. If starting from an mp3/ogg, convert first:
ffmpeg -y -i source.mp3 -acodec pcm_s16le -ar 44100 -ac 2 Audio/NowWatchThisDrive.wav
Packaging for Thunderstore
pwsh tools/package.ps1
Produces artifacts/Cray-NowWatchThisDrive-<version>.zip ready to upload.
Releasing
Automated via .github/workflows/release.yml — publishing a
GitHub Release uploads the attached zip to Thunderstore.
One-time setup. Add a THUNDERSTORE_TOKEN repository secret (Settings -> Secrets and
variables -> Actions). The token comes from
thunderstore.io/settings/teams/ under the Cray team.
Cut a release:
# 1. Bump version_number in manifest.json and add a CHANGELOG.md entry.
# 2. Commit + tag + push.
git commit -am "Release v0.3.0"
git tag v0.3.0
git push --follow-tags
# 3. Build the zip locally (CI can't build — hosted runners don't have the game DLLs).
pwsh tools/package.ps1
# 4. Create the GitHub Release with the zip attached; the workflow publishes on release.published.
gh release create v0.3.0 artifacts/Cray-*-*.zip --notes-file CHANGELOG.md
Credits
- Icon / cover art by MultipleBees — the original full-resolution artwork lives in
cover-art/alongside an attribution note.
License
MIT — see LICENSE.
CHANGELOG
Changelog
v0.4.0
- Swinger now hears their own clip as full-quality 2D audio (no positional attenuation), restoring pre-3D playback feel.
- Other players in a multiplayer lobby still hear the clip as 3D audio positioned at the swinger's hit point.
- Tightened 3D rolloff range (8m–60m linear) so distance cues are audibly distinct rather than collapsing to L/R panning only.
v0.3.2
- Added verbose diagnostic logging around the
NiceShotannouncer intercept,SwingNiceShotVFX hook, and each FMOD playback step to isolate freezes during trigger-time audio execution.
v0.3.1
- Removed the custom Mirror audio replication messages that could disconnect clients without the mod.
- Drive clip playback now follows the game's existing replicated
SwingNiceShotVFX event instead.
v0.3.0
- Replicate perfect-swing clip playback to all modded clients in a match via Mirror.
- Play the clip as 3D FMOD audio from the emitting golfer's position instead of only locally.
v0.2.1
- New icon / cover art by MultipleBees. Original high-res art kept in
cover-art/. - Added
.github/workflows/release.ymlso publishing a GitHub Release auto-uploads the zip to Thunderstore.
v0.2.0
- Updated bundled audio clip.
- Route audio playback through FMOD (Unity's native audio is disabled in the game build).
- Reference assets deploy alongside the DLL in the Thunderstore package layout.
v0.1.0
- Initial release.
- Intercepts
CourseManager.PlayAnnouncerLineLocalOnly(NiceShot)and plays the override clip.