Known Issues

In short

Found by reading main while writing the wiki (first at e7dba51, re-checked at 45a2167), not by playing. Items marked ✔ were checked again in the code. Fixing one belongs on a branch and PR in the game repo. Remove the row here once it’s merged.

Gameplay and code

IssueEvidenceEffectStatus
Barrel Master synergy can never switch onNeeds 2 Contact-tagged upgrades. All three (sweet_tape, pine_tar, sweet_spot_sticker) are Gloves, and a slot holds one item (String Bean even starts with sweet_tape)A synergy players can see but never get✔
#46 changed a co-op message without a protocol bumpNetMessages.Result gained zone, hitAim, curveAccel, gravityScale in 255f139; NetSession.Protocol is still HRD-COOP-7 (set in #41)A pre-#46 build and a post-#46 build can join each other and then misread every swing result. Fix: bump to HRD-COOP-8 (Protocol Versions)✔
Co-op ending during the match intro may leave the camera stuckNothing calls Intro.Stop() when a session ends mid-intro (GoToMainMenu, CoopRun.Stop); the director’s Hold mode has no screen checkThe face-off camera may keep holding over the title screen (Cutscenes)reported
Aim helper may be invisible in buildsAimBat’s transparent material is made at runtime (Visuals.CreateTransparentMaterial); URP can strip unused shader variants from a buildCheck the bat-shaped aim helper in a Windows build (Build and Release)unverified
Old saved runs replay differently#41 changed what a seed produces (bosses, arcs, decoys); RunSaveData has no version bumpA run.json from before #41 loads but faces different pitches (Save System)reported
Innings 3 and 6 always have the same bossSince #41 the random boss pool excludes every park boss, leaving only The Ace (inning 3) and Knuckle Sandwich (inning 6)No variety in mid-run bosses (Pitchers and Bosses)design note
FORCE A SPECIAL BALL ignores boss ballsThe dev menu option forces only the map’s ballBoss balls can’t be forced for testing (Dev Menu and Shortcuts)reported
Results button says PICK A MAPThe screen it opens is titled PICK A BALLPARK since #39Label mismatch (Map Select and Unlocks)reported
Host leaving mid-run pays clients nothingCoopRun.OnSessionEnded calls Stop() without AwardRun / AwardXp unless the run is already overClients lose the points and XP of an abandoned run (Co-op Run Flow)✔
Co-op version check only checks the protocolApplication.version is 1.0 in ProjectSettings (bundleVersion), so it never differsNetSession.Protocol is the only guard: bump it for any change that affects co-op (Protocol Versions)✔
Dressing prefabs missingFarmyard and Moon set dressing = "Parks/*_Dressing", but there’s no Resources/Parks/Both parks fall back to their code layouts (Ballpark Building)✔
Export Default Content skips some listsContentExporter doesn’t export callSigns or practiceParksAfter an export, the asset database lacks call signs and Scoreboard Smashreported
Scoreboard holes last the whole runThe comment says holes last until the next round; Build skips a park that’s already builtHoles stay for the whole run (Scoreboard)reported
Cage hint says “ESC to leave”Esc opens the pause menu; you leave with LEAVE CAGEConfusing hint (Batting Cage)reported
PitcherDefinition.color unusedNever read on mainDead fieldreported

Out-of-date docs and comments

WhereSaysCode on main
README feature tree”Starter ballparks (4 maps)“5 run maps + 1 practice park (Ballparks)
README tuningSet the green sound on GreenFeedback.GreenClipThe field doesn’t exist; it’s SoundBank.CrackGreen played by GameAudio (GREEN Swings)
README key ideasBallEffectLook plays the windup cueBallEffectLook does colour, glow and trail; the cue is in GameAudio (Special Balls)
README controlsCage: Tab changes the pitchAlso M changes the park, and locked parks can be picked (Batting Cage)
README folder table / diagramNo Audio/, FitMode/, co-op, cage or XP; Net is “phases 0-3”All are on main, including phase 4 live spectating (Architecture)
README progressionMeta only unlocks batters and perks#37 adds account and batter levels that gate batters and cosmetics (XP and Levels)
README how-to row “Co-op / Head-to-Head”Store a batter + stats per player in RunStateCo-op is built through CoopRun / IRunDriver (Co-op Overview)
CONTRIBUTINGMerge with “Squash and merge”Every PR on main is a normal merge commit (Git and PRs)
MULTIPLAYER-PLAN section 6cProtocol is HRD-COOP-5HRD-COOP-7 (Protocol Versions)
README key ideasSpecial-ball rolls “never change which pitches you get”Pitch lean (#41) uses the pitch stream, so adding a ball that rides some pitch types changes the pitch sequence (Seeds and Determinism)
DefaultContent commentThe Phantom can appear as a late boss elsewhereRunMapGenerator keeps every park boss out of the random pool: he only pitches at Midnight Yard (Pitchers and Bosses)
MULTIPLAYER-PLANOuts pool = max(7, players)max(outsPerInning = 3 (+ difficulty), players) (Co-op Rules); CoopRulesTest still uses SoloOuts = 7
MULTIPLAYER-PLAN section 4ClockPing, Snapshot, Kick, shop timer, content hash, map voteNot built (Net Messages)
SteamSetup comment, READMEFacepunch DLLs aren’t committedThey are (LFS), and HOMERUNDERBY_STEAM is on (Build and Release)
GameModes.cs commentCo-op is not playableCoopMode.IsAvailable is true
CoopWatchView commentLive swings come in the next updateLive spectating is on main (Live Spectating)
SaveData commentSaves are migratedThere’s no migration code (Save System)
SwingInput comment~40 ms green window~14 ms per SwingResolver (GREEN Swings)
StatType comments for Contact / TimingWindowTimingWindow = seconds early/lateSwingResolver uses them differently (Stats)
SoloMode description”Clear every ballpark.”A run is one map (Run Structure)

Fixed

IssueFixed in
Timing ring ignored AIM SPEED (it read the mouse without the sensitivity)#46 (255f139): TimingIndicator now uses the at-bat’s own aim
  • History: when each piece landed
  • Testing: the self-tests to run after a fix