SonsRealisticWinter
Realistic winter: snow builds up grain by grain where flakes land, piles into drifts, freezes water, then melts. Presets up to Kamchatka-deep snow, low-end PC profiles. Experimental.
| Last updated | 6 hours ago |
| Total downloads | 10 |
| Total rating | 1 |
| Categories | Mods |
| Dependency string | SkyForge_studio-SonsRealisticWinter-0.3.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_IL2CPP
BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.
Preferred version: 6.0.755README
Sons Realistic Winter
A winter overhaul for Sons Of The Forest. Snow builds up flake by flake: where a snowflake lands, a tiny grain of snow appears, and more flakes make it deeper, from a dusting to metres. Wind piles drifts behind walls and rocks, open water melts flakes until it freezes, and in warm weather everything melts away again. Built for low-end PCs: every effect has a budget you can turn down.
Status: experimental. See Known limitations below.
What it does
- Grain-by-grain snow. Each flake is a real ray from the sky. Where it lands, snow appears and keeps growing with every further flake in that spot.
- Unlimited depth. There is no built-in ceiling. The
Kamchatkapreset reaches about 5-6 metres at the peak of a long cold spell, and you can go further. - Drifts. Wind pushes extra snow behind walls and rocks. Open, windswept ground holds a little less.
- Roofs and shelter. Snow settles on the first surface a flake touches, so roofs get snow and the ground under a roof stays clear.
- Water and ice. A flake that hits open water melts. After enough frost the mod treats the water as frozen and snow settles on it. When it thaws, that snow sinks quickly.
- Melting. Warm spells shrink the snow back down, and deep snow takes longer to go.
- Own weather clock. Cold spell, then thaw, then cold again (or one winter only). It does not read the game's own weather yet.
Where the files go
All paths are inside your game folder (Sons Of The Forest).
| What | Where |
|---|---|
The mod (SotfRealisticWinter.dll) |
BepInEx/plugins/SotfRealisticWinter/ |
| Settings file (created on the first launch) | BepInEx/config/com.local.sotf.realisticwinter.cfg |
| Probe report (only if you press F8) | BepInEx/SotfRealisticWinter_probe.txt |
Log (look for Sons Realistic Winter and Grains stats) |
BepInEx/LogOutput.log |
Edit the settings file with the game closed. Delete it to get the defaults back.
Keys (in game)
| Key | Action |
|---|---|
| F9 | Test snowfall on / off (constant heavy snow at -5 C, ignores the mod's weather) |
| F10 | Remove all snow |
| F8 | Write the probe report (a list of snow / weather / water related shaders and types, used for development) |
Keys can be changed in the settings file ([6. Grains] DebugForceKey and ClearKey, [5. Probe] Hotkey). If the game does not accept the keys, nothing breaks: the mod just keeps running on its own weather.
Settings
Names below are [section] Key. Defaults in brackets.
Quick start
| Setting | What it does |
|---|---|
[2. Intensity] WinterPreset (Kamchatka) |
Normal ~0.5 m peak, Heavy ~2 m, Kamchatka ~5-6 m with no depth limit, Custom = use your own numbers |
[2. Intensity] SnowIntensity (1.0) |
Multiplier on top of the preset. 0.3 lighter, 2 about twice the snow. Up to 50 |
[2. Intensity] MeltSpeed (1.0) |
How fast snow melts above 0 C |
[3. Performance] Profile (Low) |
Low / Medium / High / Custom. Pick Low on a weak PC |
The depth numbers above were measured on a simulation of the model, not in the game, and they are for a full cold spell.
Performance profiles
| Profile | Snow radius around you | Flakes per second | Max snow patches | Rays per frame |
|---|---|---|---|---|
Low |
7 m | 40 | 900 | 3 |
Medium |
10 m | 110 | 2500 | 8 |
High |
14 m | 260 | 6000 | 16 |
Custom |
[6. Grains] CustomRadius |
CustomFlakesPerSecond |
CustomMaxCells |
CustomMaxRaysPerFrame |
Snow is only drawn around the player, that is where the radius comes from. A bigger radius or more patches costs more FPS.
Weather ([1. General])
| Setting | Default | What it does |
|---|---|---|
VirtualDayMinutes |
20 |
Real minutes per day of the mod's own weather clock |
ColdDays / ThawDays |
6 / 3 |
Length of the cold spell and the thaw (used by Normal and Custom; Heavy and Kamchatka use their own) |
ColdMeanC / ThawMeanC / DailySwingC |
-5 / 4 / 4 |
Temperatures (same note as above) |
LoopCycle |
true |
Repeat cold, then thaw. false = one winter, then permanent thaw |
Seed |
1337 |
Same seed gives the same winter |
Snow ([6. Grains])
| Setting | Default | What it does |
|---|---|---|
Enabled |
true |
Turn the snow rendering on or off |
DepthPerVirtualDay |
1.0 |
Custom preset only: metres of snow per weather day at full snowfall |
MaxDepthMeters |
0 |
Custom preset only: depth limit in metres. 0 = no limit |
MeltMetersPerDegreeDay |
1.5 |
Custom preset only: metres melted per degree above 0 C per weather day |
DriftStrength |
1.0 |
Drifts behind obstacles. 0 = off, 2 = extreme |
WindDirectionDeg |
45 |
Direction the wind blows towards |
ShelterMeters |
8 |
How far upwind an obstacle can be and still cause a drift |
TrenchRadius / TrenchDepth |
3 / 0.6 |
The mod cannot lift you onto the snow, so snow is shown low around you (like a dug path) and rises to its real depth further out. TrenchRadius = 0 turns this off, then deep snow can cover the camera |
MaxSlopeDeg |
55 |
Snow does not stay on surfaces steeper than this |
SkipMovingObjects |
true |
No snow on things that move (people, animals, logs, items) |
Color |
0.95,0.97,1.0 |
Snow colour as r,g,b from 0 to 1 |
UseInstancing |
true |
Set to false if the snow is invisible or pink |
Shader |
Auto |
Shader used for the snow. Type an exact shader name if Auto picks a bad one |
IgnoreSceneKeywords |
title |
No snow while the active scene name contains one of these words. Empty = always on |
StatsEverySeconds |
30 |
Write snow statistics to the log. 0 = off |
Water and ice ([6. Grains])
| Setting | Default | What it does |
|---|---|---|
SnowOnLiquidWater |
false |
true = snow also settles on open water |
WaterFreezeDays |
2 |
Days of hard frost for water to freeze solid (the mod's own estimate) |
WaterThawDays |
1.5 |
Days of thaw for ice to melt completely |
WaterFreezeThreshold |
0.6 |
Ice level (0 to 1) from which snow settles on water |
WaterLayers |
Water |
Unity layer name(s) of water, comma separated |
WaterKeywords |
water,ocean,lake,river,swamp,pond |
Names containing these count as water |
IceKeywords |
ice,frozen |
Names containing these count as solid ice |
IgnoreKeywords |
player,cannibal,mutant,enemy,creature,animal |
Names containing these never get snow |
Advanced
| Setting | What it does |
|---|---|
[2. Intensity] RoofAccumulation (1.0), RoofMelt (0.7) |
Roofs relative to the ground. RoofMelt below 1 keeps snow on roofs longer |
[3. Performance] SmoothingSeconds (4), MaterialRescanSeconds (180) |
Easing and how often materials are searched |
[4. Targets] GroundProperty, RoofProperty (empty) |
Names of the game's own snow shader properties. Empty until they are found with the probe; nothing happens while they are empty |
[5. Probe] Enabled, Hotkey, AutoRunDelaySeconds, Keywords, MaxLines |
Settings of the probe report |
Known limitations
- Visual only. The snow has no collision. You still walk on the ground and through the snow.
- Only around the player. Snow is drawn in a radius around you (see the profile table). The rest of the world has no snow, because the mod is not hooked into the game's own snow shader yet.
- Blocky when deep. Deep snow is made of upright columns with flat tops, so you can see small steps where the depth changes. Smooth wave-like drifts and snow hanging over roof edges and balconies are not supported.
- Not tested widely. It has not been checked on many setups, and the FPS cost has not been measured. Start with
Profile = Low. - Water detection is a best guess. If snow shows up on the bottom of a lake, or does not settle on ice, check the
Grains statslines in the log and adjustWaterLayers/WaterKeywords. - Single player only. Every player would calculate their own snow.
Reporting problems
Please include BepInEx/LogOutput.log (the lines with Sons Realistic Winter and Grains) and, if you can, BepInEx/SotfRealisticWinter_probe.txt made inside a loaded world with F8.