
You are viewing a potentially older version of this package. View Latest Version

BepInEx plugin for Super Battle Golf. Auto-aim solver that lands 100% hole-in-ones on normal-range shots.
Install via r2modman — it'll pull the BepInEx dependency automatically. Then launch the game and press J to toggle the plugin on.
BepInEx-BepInExPack-5.4.2305) — bundled with HarmonyHybrid physics predictor combining:
CalculateFirstGroundHitDistancesJob (Unity Burst, terrain-aware) for drag/gravity/terrainSimulate() for wind + elevation (features the native job doesn't handle)Hittable.settings.Wind — the exact coefficients the game applies in ApplyAirDampingTwo-stage (pitch × yaw) search: coarse sweep of 5 pitches, then refine ±7° around best with 0.2° yaw step for sub-cup-radius lateral accuracy.
| File | Purpose |
|---|---|
Plugin.cs |
BepInPlugin entry, config bindings, hotkey handling |
SwingHook.cs |
Harmony patches on PlayerGolfer and Hittable; drives the solver each aim frame |
WindElevationSolver.cs |
Two-stage pitch × yaw × power search with native-hybrid physics |
NativePhysics.cs |
Reflection-wrapped access to the game's native physics job |
AutoFire.cs |
R-shot fire coroutine + telemetry (BV-TEL FIRE/LAND lines) |
NetworkBugfix.cs |
Harmony finalizer that swallows CheckpointManager deserialize NREs so player spawns don't abort |
INVARIANTS.md |
First-principles findings, user rulings, and process rules — read before making changes |
research/)Python scripts for parsing telemetry and fitting physics coefficients. Not shipped with the plugin — development use only.
dotnet build -c Release
Output: bin/Release/netstandard2.1/com.lembo.perfectshot.dll — drop into BepInEx/plugins/Lembo-PerfectShot/.