FogDistance
See your distance to fog, lava, Gloom, and lost souls, with start countdowns, estimated time to contact, and a campfire timer. Customizable HUD with English/Russian support. Only you need to install it.
By TactiKot
| Date uploaded | 2 weeks ago |
| Version | 1.5.4 |
| Download link | TactiKot-FogDistance-1.5.4.zip |
| Downloads | 200 |
| Dependency string | TactiKot-FogDistance-1.5.4 |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301README
Fog Distance
Fog Distance adds a compact HUD to PEAK with distance to fog, lava, Gloom, or lost souls, start countdowns, estimated time to contact, and a campfire timer.
Only you need to install it. Your host and teammates can play without the mod. Supports English and Russian; press F8 to show or hide the HUD.
Example readout:
FOG: 38.4 m
ETA: 01:27
FIRE: 03:12
Features
- Track the current hazard. The HUD switches between fog, lava, Gloom, and lost souls automatically.
- See when to move. Start countdowns and contact estimates show how much time you have. Nearby danger adds a warning; once inside it, the HUD shows distance back to safety.
- Keep an eye on the campfire. See its remaining burn time, paused state, and a brief notice when it goes out.
- Follow teammates while spectating. Distances and contact estimates use the player you are watching.
- Make the HUD fit your screen. Choose from nine positions and adjust size, offsets, colors, outline, warning thresholds, and which rows appear. Text has no background panel.
- Choose metres or feet. Distances use PEAK's scale, with either unit available.
Installation
Install with a Thunderstore-compatible mod manager. It also installs the required BepInEx pack.
For a manual installation:
- Install BepInEx 5 for PEAK.
- Close PEAK and copy
PeakFogDistance.dlltoPEAK/BepInEx/plugins/PeakFogDistance/PeakFogDistance.dll. - Launch the game once to create the configuration file.
Settings
Edit BepInEx/config/com.bronekot.peak.fogdistance.cfg to customize the HUD. It starts in the top-left corner and warns at 10 PEAK metres or a contact estimate of 20 seconds. Distance thresholds stay metre-based when displaying feet.
The HUD hides in pause menus and behind input-blocking windows by default; both behaviors are configurable. Language = Auto selects Russian when your system language is Russian, and English otherwise.
Reading the HUD
ETA estimates when the hazard will reach your current position. It updates as you move and does not predict your route. The fire timer is shown independently of hazard information.
| HUD text | Meaning |
|---|---|
WAITING FOR TEAM |
Fog is waiting for the team to progress. |
WAITING TO START |
Waiting for the hazard to start; no countdown is available yet. |
START: mm:ss |
Time until the hazard starts moving. |
START: mm:ss · PAUSED |
The game has paused the start countdown. |
ETA: mm:ss |
Estimated time until contact at your current position. |
NO CONTACT |
The current movement ends before reaching your position. |
PROTECTED |
A lit campfire or candle protects you from Gloom. |
RECEDING |
The hazard is moving away. |
STOPPED |
The hazard has stopped moving. |
ETA: UNKNOWN or --:-- |
A reliable timer is unavailable. |
A ! marks a warning. Inside a hazard, the distance and timing rows change to:
FOG: DANGER
TO SAFETY: 2.4 m
The fire row shows its remaining burn time, PAUSED, or OUT after burnout.
Gloom's countdown follows the game's pause conditions, including team rest. Lava and lost-soul countdowns continue once triggered. PROTECTED describes your current protection; it does not estimate when a candle or campfire will stop protecting you. NO CONTACT applies to the current movement, so moving elsewhere or starting a new hazard phase can change it.
Updating and removing
To update manually, close PEAK and replace the DLL. Keep only one copy under BepInEx/plugins; your configuration is retained.
To uninstall, close PEAK and delete the DLL or its PeakFogDistance plugin folder. You can also delete BepInEx/config/com.bronekot.peak.fogdistance.cfg to remove saved settings.
Troubleshooting
- No HUD: check that BepInEx and the mod loaded, set
Enabled = true, pressF8, and test during island gameplay. Rows appear when there is relevant hazard or fire information. - Hidden behind a menu: check the two settings in
3 - Visibility. - Missing configuration: launch the game once, then check
BepInEx/config. - Duplicate HUD: remove extra copies of
PeakFogDistance.dllfromBepInEx/plugins. - Unknown readings: check the BepInEx log for compatibility messages. Some game states do not provide a reliable timer or distance.
What's new in 1.5.4
- Gloom's start timer now pauses correctly on non-host clients.
- Gloom readings account for head position and protection from lit campfires and candles.
NO CONTACTreplaces misleading contact estimates beyond a hazard's endpoint.- Reduced repeated text and HUD updates.
Build, automated tests, and package validation pass for 1.5.4. In-game validation of this version is still pending.
CHANGELOG
Changelog
1.5.5
- Show
FIRE: OUTonly when a lit campfire actually goes out, not when its segment is disabled or unloaded. - Use the character's head and actual status-field bounds for lost souls, including distance to the nearest field edge and the lower boundary.
- Write standard ZIP entry paths and validate them before packaging.
- Add regression checks for campfire burnout and unexpected NaN results in the test assertions.
1.5.4
- Match Gloom's head-position hit test, status-field bounds, and protection from lit campfires/candles; show
PROTECTEDwhile sheltered. - Pause Gloom's client countdown when PEAK's readiness predicate pauses the host timer, while keeping ordinary lava and lost-soul countdowns running once triggered.
- Suppress contact ETA beyond the endpoint of rising fields and shrinking spherical fog; show
NO CONTACTinstead. - Extract geometry, endpoint, and countdown calculations for regression tests.
- Cache text by displayed distances/seconds while preserving immediate alert and configuration changes.
- Back off missing-renderer and damage-component searches; update TMP effects only on material/outline changes and refresh glyph padding afterward.
1.5.3
- Fix legacy
MovingLava.timeToMovediscovery in current PEAK builds, where the field is public. - Do not fabricate a rising-field countdown for event-driven controllers, and do not label an active rising countdown as paused just because players are resting.
- Select the
LavaRisingcontroller for the current segment, use PEAK's serialized damage bounds when available, and avoid stale fog-controller fallbacks. - Preserve
FIRE: OUTacross campfire reference changes and measure its visibility window in unscaled seconds. - Render non-finite distance values as
UNKNOWNinstead of leakingNaNor infinity into the HUD. - Ignore a cached
LavaRisingcontroller when its serializedrequiredSegmentbelongs to another biome variant. - Hide the stale distance and start countdown in the location immediately before Gloom, including on non-host clients.
- Keep finished Gloom and lost-soul fields visible as
GLOOM/LOST SOULSwith a stopped state when they belong to the current segment. - Respect PEAK's
FogSphereOrigin.disableFogflag so the final static origin cannot create a frozen fog ETA.
1.5.2
- Detect the modern rising-field mode so GLOOM is no longer mislabeled as lava.
- Add lost-soul tracking for PEAK's
VoidGhostsfield using the same distance and ETA calculation. - Add English/Russian hazard labels:
GLOOM/МГЛАandLOST SOULS/ПОТЕРЯННЫЕ ДУШИ. - Use the moving fog-plane footprint for Gloom and lost-soul fields when the lava renderer is absent.
1.5.1
- Remove the black HUD panel so the overlay consists only of text.
- Preserve readability with the existing configurable outline and a subtle TextMeshPro underlay shadow when PEAK's font material supports it.
- Remove panel padding so configured offsets measure directly to the visible text.
- Keep pause labels after the timer on every timed row, including the campfire row.
1.5.0
- Replace the legacy IMGUI overlay with a responsive TextMeshPro panel on PEAK's HUD canvas.
- Reuse PEAK's font and material, respect the screen safe area, and add nine anchors, scale, font, background, outline, and color settings.
- Convert Unity world units with
CharacterStats.unitsToMetersso displayed PEAK metres are correct; add an optional feet display. - Add English/Russian localization with automatic system-language selection.
- Add a session-only
F8visibility toggle and grouped BepInEx configuration for content, visibility, layout, alerts, colors, and update rate. - Clarify timing without expanding the normal countdown: keep
START: mm:ss, and add explicit waiting, paused, stopped, and unavailable states. - Show distance back to safety while in danger and use PEAK's strict spherical-fog danger boundary.
- Match lava's X/Z damage footprint, stop legacy lava at PEAK's exact final height, and distinguish receding hazards from approaching ones.
- Smooth the modern lava start countdown for non-host clients between PEAK's sparse host synchronization packets.
- Keep hazard, timing, and campfire rows independent so fire status no longer inherits a hazard alert color; prefer the current segment's fire without position-based timer switching.
- Fix legacy flat-fog waiting and final-stop reporting, including non-owner states where no synchronized numeric countdown is available.
- Sample hazard values at a configurable rate, poll campfires at 5 Hz, cache TMP updates, back off missing-object searches, and reset cached state across scenes.
- Add validated Thunderstore packaging, portable
PEAK_GAME_DIRbuilds, and model tests for formatting, conversion, severity, hysteresis, and localization.
1.4.1
- Hide the distance and start line while a static/tidal lava stage keeps
LavaRisingdormant. - Reveal the lava HUD only after PEAK starts a real countdown or continuous rise.
- Allow the campfire line to display independently when no hazard HUD is relevant.
1.4.0
- Add a third-line countdown for the relevant lit campfire.
- Show
FIRE: OUTfor 10 seconds after the campfire is spent. - Follow PEAK's real campfire timer, including its rest pause.
- Replace the unused static lava start number with
START: WAITINGuntil the game actually begins its countdown.
1.3.2
- Show the HUD on the first segment before the fog visual is enabled.
- Display
START: WAITINGwhile initial fog waits for the team's progression trigger. - Keep danger styling disabled until PEAK activates the fog effect.
1.3.1
- Show the shortest distance to the current spherical fog boundary.
- Keep distance and ETA based on the same approaching boundary.
1.3.0
- Calculate distance and ETA for the currently spectated player.
- Add a second line with the hazard start countdown or arrival ETA.
- Read PEAK's synchronized fog and lava timing data when available.
- Support trigger-based legacy hazards that have no numeric start countdown.
1.2.1
- Restore support for PEAK's current shrinking-sphere fog implementation.
1.2.0
- Use PEAK's bundled Binggrae Bold interface font.
1.1.0
- Add rising-lava distance support for The Kiln and Peak.
- Move the HUD to the upper-left corner.
1.0.0
- Initial release with rising-fog distance display.