Pages (23)Fog
- Overview
- Installation
- Getting started
- Quick Start window
- System overview
- Easy Weather Manager
- Time Module
- Celestial Module
- Cloud Module
- Volumetric clouds
- Cloud shadows
- Fog
- Detail Module
- Weather Effects Module
- Weather presets
- Events Module
- Lens flare occlusion
- Helper components
- Demo scene
- Scripting guide
- Troubleshooting
- FAQ
- Changelog
Fog
Last updated 6 October 2026
Easy Weather has two kinds of fog, both in the Fog & Atmosphere section of the Cloud Module:
- 2D fog (Skydome): horizon, height and scattering fog painted on the sky dome (
enableSkyFog). - Volumetric fog (Screen): depth based fog over the whole scene, drawn by the
KDAVolumetricFogFeaturerenderer feature (enableVolumetricFog).
The shipped prefab uses the volumetric fog with the sky fog off.
Fog color
Both fog types read one shared color, and fogBrightness and fogColorMultiplier apply to both.
- Auto Sync Colors on (
autoSyncFogColor, on in the prefab): nothing is painted. By day the fog takes the sun color through the same chain the 3D clouds use, so fog and clouds share one tone and a weather preset's sun color carries into the fog by itself. At night it takes the hue of the sky's horizon at a fixed level, Night Brightness (vFogNightBrightness), and Night Saturation (vFogNightSaturation) decides how much of the sky's color it keeps. - Auto Sync Colors off: you paint the color, either a fixed
fogColoror the day gradientvFogColorGradient(0 is midnight, 12 is noon). The inspector marks the current time on the gradient.
Volumetric fog
Distance
| Setting | Default | Description |
|---|---|---|
vFogStartDistance, vFogEndDistance | 150, 900 | Where the fog starts and where it reaches full density |
vFogDensity | 0.9 | Maximum opacity at the end distance |
vFogFalloff | 1.35 | Distance falloff: 1 is linear, above 1 starts subtle and thickens |
vFogAutoStartFromSkydome (Sync With Skydome) | off (on in the prefab) | Ties the distances to the sky dome: the fog becomes fully opaque at the dome's edge, so geometry melts into fog before it reaches the dome |
vFogStartSkydomeOffset, vFogSyncBandThickness | 300, 600 | Sync With Skydome only. How far in front of the dome edge the fog wall sits, and over how many meters it goes from clear to opaque |
vFogHideFarClip | on | Forces full fog just before the camera's far plane, so objects are hidden before they stop being rendered |
Height
vFogBaseHeight is the world height where the fog is thickest, and vFogHeightFalloff sets how fast it thins with altitude (0 is uniform).
Sky and horizon
| Setting | Description |
|---|---|
vFogSkyFullHeight, vFogSkyBlend, vFogSkyFalloff | The band above the horizon that is fully fogged, how high the fog blends out of the sky, and how tightly it hugs the horizon |
vFogSunPunch (Sun Punch-Through) | Lets a low sun show through the horizon fog: the fog thins toward the center of the sun disc. Scaled down by cloud cover, so an overcast sky gets no clearing. 0 lets the fog swallow the sun |
vFogSunPunchSize | Size of that clearing. 0.01 is about the sun disc itself |
Noise and edges
vFogNoiseScale, vFogNoiseStrength and vFogNoiseSpeed break the fog up near the camera; the noise fades out between vFogNoiseFadeStart and vFogNoiseFadeEnd and drifts with the cloud wind. vFogEdgeSoftness softens object silhouettes so they melt into the fog instead of leaving a hard seam (0 is off, 2 to 3 is subtle).
Layers drawn after the fog
Transparent objects do not write depth, so the fog would paint over them using the distance behind them. Objects on the layers in vFogUnfoggedLayers (the UI layer by default) are drawn again after the fog, which keeps world space prompts and name tags readable.
Fog and water
Water writes no depth. Without help, the fog treats every water pixel as sky: the horizon band covers the sea and no distance setting reaches it. Use one or both of these:
| Setting | Default | Description |
|---|---|---|
vFogWaveDepth (Wave Depth Prepass) | on | Water renderers on the Water Layers are drawn into a depth prepass with their own shaders, waves included, so the fog meets the waves per pixel |
vFogWaterLayers | Water | The layers your water objects are on |
vFogUseWaterLevel, vFogWaterLevel | off, 0 | A flat water plane at this world height. Covers water beyond the mesh, or water that is not on a Water Layer |
vFogFadeAtWaterline, vFogWaterlineFade | off, 0.4 | Fades the fog out as the camera reaches the waterline |
If the Crest ocean system is in the project, the fog detects it automatically and reads its sea level. Easy Weather has no dependency on Crest.
The renderer feature
KDAVolumetricFogFeature only has to be present on the URP renderer. You do not configure it there: the Cloud Module writes its settings every frame, so the fog stays in sync with the sky and the weather. The pass runs before post processing.
The fog pass is recorded through Render Graph only. If URP runs in Compatibility Mode, no fog is drawn and no error appears. The Quick Start window reports this.
Fog and weather
A weather preset can change the sky fog density, the volumetric fog density and brightness, and the fog distances. A preset's fog distance works in both the manual and the Sync With Skydome mode. See Weather presets.
Public API
| Member | Description |
|---|---|
void GetFogDistance(out float start, out float end, bool ignoreWeatherOverride) | The distances the screen fog uses right now: manual, sky dome linked, or a weather preset's |
void SetWeatherFogDistance(bool active, float start, float end) | Weather handover for the fog distances. Replaces both the manual and the sky dome values while active |
bool IsWeatherFogDistanceActive | Whether a preset holds the fog distances |
Pages that link here
Still stuck?
Send us your Unity version, render pipeline and a screenshot of the problem.

