Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
OttoLens
Hover a chest, fire, smelter, plant or build piece and see what is inside, how long is left, and how it is holding up.
| Date uploaded | 2 weeks ago |
| Version | 1.0.2 |
| Download link | potto007-OttoLens-1.0.2.zip |
| Downloads | 393 |
| Dependency string | potto007-OttoLens-1.0.2 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2350README

OttoLens
For Valheim 1.0.7
Look at a chest and see what is in it. Look at a smelter and see how much ore is queued, how much fuel is left, and how long until the next bar drops. Look at a plant and see when it is ready. OttoLens puts a small ledger next to the vanilla hover text with the numbers the game already has but does not show you.
Maintainer: Paul Otto
What it shows
Every target gets the same panel: a title, one main meter, up to two smaller meters, and then item rows with the icon, the name and the count.
- Chests, carts and ship holds. Every item stack inside, sorted by count, with
a slot meter and a
Free Nfooter. Rows past the cap collapse toand N more. - Fires, torches, braziers and hearths. Fuel left and how long it burns, in game days when it runs long.
- Smelters, kilns and blast furnaces. Fuel, the ore queue, time to the next bar, time to the last one, and finished bars waiting to be picked up. A windmill smelter with no wind says so instead of showing a countdown that would never move.
- Cooking stations and ovens. What is cooking, what is done, time until the next piece is done, and time until the first one burns.
- Fermenters, beehives and sap collectors. What is brewing and the time to ready, or the honey or sap level and the time to the next unit.
- Plants and pickables. Grow progress on a crop, or the reason it stopped
growing, and the item and yield on a live bush. Respawn timers on picked bushes
are opt in (
ShowRespawn). - Build pieces. Health and support, with the hammer out by default so the panel stays out of the way during normal play.
- Mineable rocks, trees, stumps and logs. Health as a percent, and the tool tier you need when yours is too low. Trees, stumps, logs and small rocks are off by default because a plain tree is a hover target and the panel would follow you through every forest.
- Item stands, armor stands, tombstones, tamed creatures, wisp spawners, shield generators, feasts, ground items and crafting stations.
What it does not do
OttoLens only reads. It never writes to the world, so burn rates, cook times, fuel limits and everything else about how the game plays are exactly what the game set. It does not patch the hover text itself, so it sits alongside other hover mods instead of fighting them. It is client only and needs nothing on the server.
If a reader throws on some modded object, the panel hides for that target and the error is logged once. The HUD keeps running.
A world-placed chest you have not opened yet shows its title and Contents unknown. Open it once and the panel fills in. That is on by default because
the surprise is part of the game.
Lens dirt is off by default, because the Eye of Odin makes all things clear.
Bloom still glows. Only the smudges on the camera lens are gone. Set
RemoveLensDirt to false to bring them back.
The game writes BepInEx/config/potto007.OttoLens.cfg the first time it runs
with the mod loaded.
Change it in a text editor or in game with Configuration Manager. Layout knobs
apply the next time the panel builds for a new target. MaxRows, ShowNames
and SortRows rebuild the panel at once, and any change under Targets takes
effect on the target you are already looking at.
| Section | Key | Default | What it does |
|---|---|---|---|
| OttoLens | Enabled |
true |
Master switch. Off hides the panel and skips every reader. |
| OttoLens | ToggleKey |
None |
Key that flips the master switch in game. Unbound by default; set a key to enable it. It is ignored while chat, a sign, the console or any other text field has the keyboard. |
| OttoLens | OffsetX |
150 |
Left edge of the panel, pixels right of screen centre. 96 to 600. |
| OttoLens | OffsetY |
-32 |
Top edge of the panel, pixels below screen centre. -400 to -16. |
| OttoLens | PanelWidth |
300 |
Panel width in pixels. 240 to 420. |
| OttoLens | GuiScale |
1.0 |
Scale of the whole panel. 0.75 to 1.6. Try 1.15 at 1440p. |
| OttoLens | MaxRows |
10 |
Item rows per block before and N more. 1 to 16, and clamped to what fits on screen. |
| OttoLens | SortRows |
Count |
Count sorts by count then name. Slot keeps the container's own order. |
| OttoLens | ShowNames |
true |
Show the item name column. Off shows icon and count only. |
| OttoLens | ShowFullHealth |
false |
Show the Health row on a build piece at 100 percent. |
| OttoLens | AvoidHoverText |
true |
Push the panel right when the vanilla hover line would run under it. |
| OttoLens | RefreshHz |
4 |
How often the values update while the panel is visible. 1 to 10. |
| OttoLens | FadeSeconds |
0.08 |
Show and hide fade. 0 to 0.5. |
| OttoLens | BackdropAlpha |
0.88 |
Opacity of the panel plate. 0.5 to 1.0. |
| OttoLens | ShowDays |
true |
Add a game day figure to fuel and grow times longer than half a day. |
| Camera | RemoveLensDirt |
true |
Remove the smudges that bloom draws over bright light. false brings them back. |
| Targets | HideUnopenedWorldChests |
true |
Hide the contents of world-placed chests until you have opened them once. |
| Targets | Containers |
true |
Chests, carts and ship holds. |
| Targets | Fires |
true |
Fireplaces, hearths, torches and braziers. |
| Targets | Smelters |
true |
Smelters, kilns, blast furnaces and windmill fed smelters. |
| Targets | Cooking |
true |
Cooking stations and ovens. |
| Targets | Fermenting |
true |
Fermenters, beehives and sap collectors. |
| Targets | Plants |
true |
Planted crops and saplings. |
| Targets | Pickables |
true |
Pickable plants and item piles. |
| Targets | ShowRespawn |
false |
Show the respawn countdown on an already picked pickable. Needs Pickables on. |
| Targets | BuildPieces |
WithHammer |
Off, WithHammer for place mode only, or Always for any hovered piece. |
| Targets | Mineables |
true |
Mineable rocks. |
| Targets | TreesAndRocks |
false |
Trees, stumps, logs and small rocks. Costs nothing while off and no extra raycast while on. |
| Targets | Stands |
true |
Item stands and armor stands. |
| Targets | Creatures |
true |
Tamed creatures and pets. |
| Targets | Misc |
true |
Tombstones, wisp spawners, shield generators, feasts, ground items and crafting stations. |
Installation (manual)
Extract the DLL from the zip into <GameDirectory>\BepInEx\plugins, then start the
game.
Installation (automatic)
Use Gale, r2modman, or the Thunderstore Mod Manager. Search for OttoLens and install.
Servers
Client only. Nothing to install on the server, and players without it see the game exactly as before.
Version information
The release history lives in CHANGELOG.md, and it renders on the Changelog tab of the Thunderstore package page.
Credits
OttoLens is written and maintained by Paul Otto. I wrote every reader from scratch against the game's own behaviour in 1.0.7, and no code in it is taken from any other mod. The only dependency is the BepInEx pack, which brings Harmony with it. MIT licence.
CHANGELOG
Changelog
All notable changes to OttoLens.
1.0.6
- Fixed status rows where a long value such as
23m 53s (1.3 days)was drawn on top of the progress bar. The bar now shrinks to make room for the value.
1.0.5
- Rebuilt against Valheim 1.0.16. Every Harmony patch target still resolves in this build, and nothing else changed.
v1.0.4
- Rebuilt against Valheim 1.0.15. Every Harmony patch target still resolves in this build, and nothing else changed.
v1.0.3
- Rebuilt against Valheim 1.0.14. Every Harmony patch target still resolves in this build, and nothing else changed.
v1.0.2
ToggleKeyis now unbound by default (wasH). Set a key in the config to enable it. An existing config still onHis cleared once on the first launch after updating; bind it again if you want it back.
v1.0.1
- Windmills, kilns, spinning wheels and eitr refineries no longer call their
input ore. The queue meter names the input (
Barley,Flax), the empty headline follows it (NO BARLEY), and the running word isMILLINGon a windmill andWORKINGon the others. Smelters and blast furnaces are unchanged.
v1.0.0
- First release, for Valheim 1.0.7 and BepInEx 5.4.2350.
- One ledger panel next to the vanilla hover text, with a title, one main meter, up to two smaller meters, and item rows with icon, name and count.
- Readers for chests, carts and ship holds; fires, torches, braziers and hearths; smelters, kilns and blast furnaces; cooking stations and ovens; fermenters, beehives and sap collectors; plants and pickables; build pieces; rocks, trees and logs; item stands and armor stands; tombstones; tamed creatures; wisp spawners; shield generators; feasts; ground items; and crafting stations.
- Read only. OttoLens never writes to the world and never changes burn rates, cook times or fuel limits.
- No patch on the hover text itself, so it runs alongside other hover mods.
- Client only. No ServerSync, nothing to install on a server.
- World-placed chests stay hidden until opened once. Off with
HideUnopenedWorldChests. - Build piece status shows with the hammer out by default.
BuildPiecescan beOff,WithHammerorAlways. Htoggles the panel in game. Change or disable it withToggleKey.- Lens dirt is off by default, because the Eye of Odin makes all things clear.
RemoveLensDirtbrings it back.