Mods / Thermal HUD

Tags:
QoL Client HUD
Author:
Hugomir
Side:
Client
Created:
Sep 29th at 1:35 PM
Last modified:
4 days ago
Downloads:
445
Recommended download (for Vintage Story 1.22.0 - 1.22.7):
thermalhud_1.0.3.zip  1-click install

Have you ever realized that the weather is much colder or hotter than you expected? The purpose of this mod is to visualize the temperature so clearly that nothing is left to guesswork. The design philosophy behind the mod is that players should not be overwhelmed with an excessive amount of secondary and static information. 

The mod also finds the times of sunrise and sunset with the bisection method and adjusts the display of the dark area accordingly. When the dark area covers exactly half of the background square, the sun is either rising or setting, while full bright means noon and full dark means midnight. Polar night and polar day are detected too. The fuzzy time feature (enabled by default) helps you to learn the logic of the visualization.

No content or code in this mod is generated by artifical intelligence.

Features

  • Temperature reading with adaptive background color inspired by the color scemes of weather forecasts
  • Sun position indication with darker background
  • Rift activity level
  • Room type symbol
  • Polar day and polar night detection
  • Two secondary info text areas (time of the day, clock, month, room type, claim owner name, elevation, height above terrain (HAT))
  • Immersive Body Temperature mod support
  • Fahrenheit support
  • ConfigKit support
  • Smooth scaling as all the graphical elements are vector-based

Configuration

The easiest way to change the settings is to use ConfigKit, mod but if it is not installed you can change the settings by editing thermalhud.json which is created automatically when the world starts. The parameters are described below.

Settings

Alignment. Determines the position of the HUD on the screen. Possible values are TopLeft (default), TopRight, BottomLeft and BottomRight.

Scale. Relative size of the hud, default 1.0 (100%). This is different from the UI Scale of the game settings but both are taken into account when calculating HUD size.

TemperaturePreference. Possible values are

  • Automatic (default) ‒ use apparent temperature if available, otherwise outdoor temperature
  • Outdoor ‒ outdoor temperature
  • Apparent ‒ use apparent temperature provided by Immersive Body Temperature mod
  • Body ‒ body temperature

 

UseFahrenheit. Value true makes temperature to show in Fahrenheit degrees and false (default) in Celcius degrees.

ShowDarkArea. Value true (default) visualizes the sun position with darker area in the temperature area background.

DarkAreaOpaqueness. Opaqueness of the dark area, default 0.25 (25%). Choosing 100% results full black while 0% hides the dark area.

ShowSunSymbol. Value true (default) makes the sun symbol visible while false hides it.

RiftActivityLevel. Value true (default) makes the rift activity level bars visible while false hide them.

RoomTypeSymbol. Value true (default) makes room type symbol visible while false hides it. The symbol is not shown when apparent temperature is used.

UpperInfoTextMode, LowerInfoTextLPMode, LowerInfoTextP1Mode, LowerInfoTextP2Mode, LowerInfoTextP3Mode. Upper info text is visible on the top of the temperature area. Lower info text is visible on the top of the temperature area. Lower info text follows the following prioritization practices:

  • After Login (LP) ‒ value is only shown after login until the player entity moves
  • Priority 1 (P1) ‒ shown if LP value is not available
  • Priority 2 (P2) ‒ shown if LP and P1 values are not available
  • Priority 3 (P3) ‒ shown if LP, P1 and P2 values are not available

 

The possible metrics are listed below.

  • None ‒ no info text
  • FuzzyTime ‒ a text-based representation of the time of day (e.g. morning, sunset, dusk, night, polar day)
  • Time12h ‒ clock in 12 hour format
  • Time24h ‒ clock in 24 hour format
  • Month ‒ month name
  • MonthRoman ‒ month in Roman numerals
  • RoomType ‒ type of the room (room, cellar or greenhouse)
  • ClaimOwnerName ‒ name of the claim owner
  • Elevation ‒ altitude from the sea level
  • HeightAboveTerrain ‒ altitude from the terrain (HAT), useful underground

Immersive Body Temperature support

The mod visualizes certain features provided by Immersive Body Temperature mod when it is enabled. Apparent temperature is available as the main temperature reading. HUD border depends on the apparent temperature feel status:

  • No border ‒ comfy
  • Dashed border ‒ cold or warm
  • Solid border ‒ freezing or hot

Roadmap

  • Localization

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.0.3 thermalhud
1.22.0 - 1.22.7
129 4 days ago thermalhud_1.0.3.zip 1-click install
  • Added Shipwright vessel detection to the keywords used in the HAT value omitting testing
  • Changed cairo-sharp reference copy policy (private=false) to avoid potential dependency resolution issues with older game versions
1.0.2 thermalhud
1.22.0 - 1.22.7
158 Oct 1st at 8:16 AM thermalhud_1.0.2.zip 1-click install
  • Changed the HAT value to be omitted when player entity is swimming or mounted on raft or boat
1.0.1 thermalhud
1.22.0 - 1.22.7
83 Sep 30th at 8:04 AM thermalhud_1.0.1.zip 1-click install
  • Fixed temperature preference default (Outdoor -> Automatic)
1.0.0 thermalhud
1.22.0 - 1.22.7
75 Sep 29th at 6:12 PM thermalhud_1.0.0.zip 1-click install

The first release

Disclaimer

By downloading a mod you consent to our Terms of Use.

We tell you this specifically because we want to make sure you are aware that we cannot validate every mod, and you are responsible for any damages you might incur by installing or loading mods.

This prompt will not be shown to you again (for the current browser session) if you proceed.


14 Comments (oldest first | newest first) (threaded | flat)

Gamezxtrem, Oct 3rd at 12:32 AM

throwing errors on the world load message window
running 1.22.6

Hugomir , Oct 3rd at 7:41 PM (modified 6 days ago)
@Gamezxtrem: throwing errors on the world load message windowrunning 1.22.6

Please, can you share the stacktrace?

Gamezxtrem, 5 days ago
@Hugomir: Please, can you share the stacktrace?

I’m using Vintage Story 1.22.6. Thermal HUD produces the following assembly-loading error during startup. It appears cairo-sharp is already loaded when Thermal HUD attempts to load another copy:

5.10.2026 15:58:36 [Error] [thermalhud] An exception was thrown when trying to load assembly:
5.10.2026 15:58:36 [Error] [thermalhud] Exception: Could not load file or assembly 'cairo-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Assembly with same name is already loaded
   at System.Runtime.Loader.AssemblyLoadContext.<LoadFromPath>g____PInvoke|5_0(IntPtr __ptrNativeAssemblyBinder_native, UInt16* __ilPath_native, UInt16* __niPath_native, ObjectHandleOnStack __retAssembly_native)
   at System.Runtime.Loader.AssemblyLoadContext.<LoadFromPath>g____PInvoke|5_0(IntPtr __ptrNativeAssemblyBinder_native, UInt16* __ilPath_native, UInt16* __niPath_native, ObjectHandleOnStack __retAssembly_native)
   at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
   at Vintagestory.Common.ModAssemblyLoader.LoadFrom(String path) in VintagestoryLib\Common\API\ModAssemblyLoader.cs:line 36
   at Vintagestory.Common.ModContainer.<>c__DisplayClass38_0.<LoadAssembly>b__0(String path) in VintagestoryLib\Common\API\ModContainer.cs:line 607
   at System.Linq.Enumerable.ListSelectIterator`2.MoveNext()
   at System.Linq.Enumerable.IEnumerableWhereIterator`1.ToList()
   at Vintagestory.Common.ModContainer.LoadAssembly(ModCompilationContext compilationContext, ModAssemblyLoader loader) in VintagestoryLib\Common\API\ModContainer.cs:line 606

RodinPandarex, Sep 30th at 8:16 AM

Hello! Finally, an open-source weather HUD mod! I'm definitely following this right away—thanks for all your hard work.

Hugomir , Sep 30th at 5:13 PM
@RodinPandarex: Hello! Finally, an open-source weather HUD mod! I'm definitely following this right away—thanks for all your hard work.

Thanks for the positive comment! At moment, temperature is the only weather data shown on the HUD but let's see what the future holds.

synrao, Sep 29th at 7:54 PM

Hey, thanks for making this mod! Author of C2F here - I'd love to link this mod on the C2F page so that people can opt to use your mod instead for temperature readings in fahrenheit! Obviously I wanted to ask you if that was okay beforehand.

 

C2F is made with artificial intelligence, and I'd like to provide users the option to support human coders. Is it alright if I add a link on the C2F mod page for Thermal HUD?

traugdor, Sep 29th at 8:13 PM
@Hugomir: I have no ideas what C2F mod is but you are welcome to add the link to this mod.

It's a Freedom Units alternative for Farenheit enjoyers who aren't also proud Americans.

Hugomir , Sep 30th at 9:16 AM
@traugdor: It's a Freedom Units alternative for Farenheit enjoyers who aren't also proud Americans.

Yeah, everyone should have the freedom to use the units they're used to. Since adding Fahrenheit support doesn't seem to be a priority for the game devs, I wanted to provide the option to our American survivalist friends.

traugdor, Sep 29th at 6:41 PM

I like it. Very easy to use and doesn't get in the way.

Hugomir , Sep 29th at 7:24 PM
@traugdor: I like it. Very easy to use and doesn't get in the way.

Thanks for the positive feedback! I'm glad you like it.