SingleplayerPause
Freezes gameplay and active boss departure timers with the native pause menu in strict singleplayer only.
By evansvl
| Date uploaded | 2 weeks ago |
| Version | 0.1.1 |
| Download link | evansvl-SingleplayerPause-0.1.1.zip |
| Downloads | 25 |
| Dependency string | evansvl-SingleplayerPause-0.1.1 |
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
Singleplayer Pause
Freezes gameplay time and the active boss departure countdown while the game's native pause menu is open in a strict singleplayer session.
Safety boundary
The mod changes Time.timeScale only when all of these conditions are true:
- the player is outside the main menu;
- the game is using its offline transport, not Steam;
- the local process is both server and client;
- exactly one client is connected;
- the local player exists;
- the native pause state is active.
Online hosts, online clients, offline clients, and local sessions containing more than one client are never frozen. The previous time scale is restored when the pause menu closes, a singleplayer condition becomes false, the mod is disabled, or the game exits.
FishNet network ticks continue while Unity time is frozen. During a valid singleplayer pause, the mod therefore holds the boss departure deadline in place and shifts the synchronized deadline by the paused tick count when play resumes. The boss countdown and the native boss progress bar continue from the same point instead of advancing in the pause menu.
Usage
- Start a Singleplayer world.
- Press
ESCto open the game's normal pause menu. - Gameplay freezes until the pause menu is closed.
There are no settings or custom keybinds. The mod follows the game's native pause action.
Compatibility
- How to Fish 1.0.4
- BepInEx 5.4.23.5
Development disclosure
This project was developed with substantial assistance from OpenAI Codex. The packaged code was reviewed and compiled against the game before release.
CHANGELOG
Changelog
0.1.11
- Replaced the package icon with a real in-game pause-menu preview and a readable
SINGLEPLAYER PAUSEtitle. - No pause, held-item, chat, or simulation behavior changed in this release.
0.1.10
- Extends the held-tool sway guard through the zero-delta resume frame after closing the pause menu.
- Prevents the first post-pause
LateUpdatefrom poisoning a rod or weapon transform withNaN.
0.1.9
- Prevents the native held-tool sway update from running with a zero
Time.deltaTimewhile paused. - Fixes fishing rods and weapons disappearing after repeated pauses because their sway transform became
NaN.
0.1.8
- Adds bounded runtime state snapshots at pause request, during the freeze, and immediately before release.
- Captures held/current tool identity, ownership, inventory flags, holders, renderer state, tool and sway positions, hand transition values, and fishing-line state so the remaining disappearance can be diagnosed from one run.
- Repeats paused snapshots only when state changes, avoiding per-frame log spam.
0.1.7
- Fixes the second native draw transition in
PlayerHands, which could still be incomplete after the tool movement transition had reached 100%. - Uses the game's own
Tool.TryActivateAnimatedHandspath to keep weapon and fishing-rod renderers plus IK active during pause. - Removes the
PlayerToolMovement.SetToolinterception from 0.1.6 so native held-item reconciliation is never deferred or left out of sync. - Logs a single runtime recovery line when a hidden held-tool renderer is restored, making the live failure observable.
0.1.6
- Extends the safe-boundary check from firearms to every held
Tool, including fishing rods and melee tools. - Waits for the native tool equip/draw transition to finish before freezing scaled time.
- Defers
PlayerToolMovement.SetToolreconciliation while the freeze is owned, preventing the game from hiding the animated hands mesh and resetting draw progress to zero during pause.
0.1.5
- Waits for the held firearm to finish an active shot, cooldown, queued shot, or reload before acquiring the freeze.
- Removes the broad
Weapon.Updateinterception so the game's own held-item reconciliation always keeps running. - Prevents repeated pauses and pauses during reload from leaving the weapon in a state where projectiles no longer deal damage.
0.1.4
- Freezes
Weapon.Updatetogether with legacy weapon animations during an active singleplayer pause. - Prevents reload, cooldown, queued-shot, and visibility state from advancing against a frozen animation.
- Handles pausing mid-reload and repeated rapid pause cycles without touching fishing-rod or chat updates.
0.1.3
- Narrows the FishNet hook from the full frame update to simulation tick advancement only.
- Keeps FishNet
OnUpdate,OnLateUpdate, the chat, save notifications, and rod frame maintenance active in pause. - Still prevents
OnTick, physics simulation, combat, and boss deadlines from advancing. - Avoids accumulating catch-up ticks while paused.
0.1.2
- Freezes the complete FishNet offline simulation instead of compensating only the boss deadline.
- Prevents weapons, reload state, projectiles, hits, and other tick-driven systems from advancing during pause.
- Resumes without accumulated catch-up ticks, keeping client and server combat state synchronized.
- Retains the strict offline host and exactly-one-client safety boundary.
0.1.1
- Pauses the active boss departure countdown together with gameplay.
- Compensates FishNet network ticks when the pause closes, so the boss keeps the exact remaining time.
- Blocks only the boss departure check while the strict singleplayer pause is active.
- Keeps all boss-timer changes disabled for Steam, multiplayer, clients, and sessions with more than one client.
0.1.0
- Uses the short public name
Singleplayer Pause. - Added gameplay freezing while the native pause menu is open.
- Restricted freezing to offline host sessions with exactly one connected client.
- Added automatic restoration when pause closes, session conditions change, the mod unloads, or the game exits.