Pages (23)Cloud Module
- 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
Cloud Module
Last updated 6 October 2026
The largest module. It owns the cloud layers, the cloud shadows and the fog. Each layer can be switched off on its own.
| Layer | Switch | Drawn by | Details |
|---|---|---|---|
| 3D clouds | enableVolumetrics | Generated meshes with the StylizedFluffyCloud shader | Volumetric clouds |
| 2D clouds | enableMainClouds | The sky dome material | This page |
| Far clouds | enableFarClouds | The skybox material, near the horizon | This page |
| Cloud shadows | enableCloudShadows | A light cookie on the sun | Cloud shadows |
| Sky fog | enableSkyFog | The sky dome material | Fog |
| Volumetric fog | enableVolumetricFog | KDAVolumetricFogFeature | Fog |
The inspector has the sections 3D Clouds (Volumetric), 2D Clouds (Skydome), Far Clouds (Skybox), Cloud Shadows (Ground), Fog & Atmosphere and Materials & Setup.
Cloud coverage
cloudCoverage is shared. It shapes the 2D layer, spreads the 3D clouds, darkens the ambient light and dims the sun. Weather presets animate it more than any other value.
2D clouds
The cloud layer painted on the sky dome. It is a single shader on one mesh, so it is cheap.
| Setting | Description |
|---|---|
enableMainClouds | Switches the 2D layer on and off. Weather can force it on, see Volumetric clouds |
cloudTexture, cloudDetailTexture | Base and detail textures |
cloudCoverage, cloudDensity, cloudHeight, cloudThickness | The four values weather presets animate most |
cloudScale, cloudEdgeSoftness, cloudPuffiness, cloudDetailAmount | Shape |
cloudBrightness, cloudAmbient, cloudShadowStrength, cloudDistanceFade | Lighting. cloudShadowStrength is the self shading of the layer, not the ground shadow |
windDirection, windSpeed, cloudSpeed | Movement |
morphSpeed, morphScale, morphStrength | Slow shape changes over time |
useProceduralNoise, noiseScale, noiseStrength, detailNoiseScale, detailNoiseStrength | Procedural noise |
Most of these can follow a 24 hour curve instead of a fixed value.
Far clouds
A cheaper layer drawn by the skybox near the horizon, with its own textures, wind and noise (farCloud*, farWind*, farMorph*, farNoise*). Off in the shipped prefab. Far clouds cast no ground shadow: they sit on the horizon, so their shadows would fall beyond the visible ground. They dim the sun instead.
Materials & Setup
| Setting | Description |
|---|---|
volumetricCloudMaterial | The sky dome cloud and fog material |
skyboxMaterial | The skybox material (far clouds) |
skydomePrefab, skydomeInstance | The sky dome prefab and its instance in the scene. Create Skydome instantiates it |
cloudShadowMaskShader | Used by Cloud shadows |
Auto-Find Materials fills these in. Without a sky dome prefab reference there is no sky dome and no 2D clouds.
Public API
| Member | Description |
|---|---|
void UpdateShaders() | Push settings to the materials after changing fields from code |
bool MainCloudsActive | Whether the 2D layer is drawn: your switch, or weather forcing it on |
void SetMainLight(Light light) | The light that shades the clouds |
void SetLightColors(Color sun, Color moon) | Override the colors used for cloud shading |
Color GetCurrentSunColor(), Color GetCurrentMoonColor() | Colors currently used |
Color GetCurrentCloudColor(), Color GetEffectiveCloudColor(float dayFactor) | Resolved 3D cloud color |
float GetDayFactor(), float GetFogGradientTime() | Continuous day factor and the gradient position it maps to |
float GetSkydomeRadius() | Current sky dome radius |
string GetCloudLightingDebugText() | Readable dump of the current cloud lighting state |
The 3D cloud, cloud shadow and fog members are listed on Volumetric clouds, Cloud shadows and Fog.
Pages that link here
Still stuck?
Send us your Unity version, render pipeline and a screenshot of the problem.

