Additional Topics
intermediate conceptsGlobal Snow & Rain 3 · Core Concepts
Snow Accumulation & Deep Marks
Snow Accumulation in Snow Appearance piles the snow up over the ground, as deep as its Thickness. It buries what rests in it, and Deep Marks dig into it as deep as it goes. With Snow Accumulation off, Thickness at 0, no Receivers or Performance Level Fastest, the snow is drawn on the surfaces and only Footprints and Collision Marks mark it.
On each receiver the accumulation follows the shape of the surface seen from above: it fills small steps, such as those of a stepped roof, and slopes down to zero where the receiver ends. Where it is deeper than 5 cm it is opaque, so objects buried in it do not show through.
Receivers
The accumulation is drawn only on the Receivers, a list of objects that Global Snow keeps in the scene. Each object gets it only on its own renderer or terrain, not on its children. An object without a renderer or terrain of its own, such as the root of a LOD Group or an empty parent of several terrains, passes it to its children, and each child takes only its own renderer or terrain. Objects placed under a terrain, such as trees, rocks and other objects spawned by terrain tools, do not get it from the terrain row, so add them to the list if they should get it. Press Add Terrains to add every terrain of the open scenes, then open List Receivers to manage the list:
- Drag ground objects such as roads, pavements or roofs from the Hierarchy into the list, or press + and pick one.
- Select a row and press - to take it out. Undo brings it back.
- Untick a row to switch its accumulation off and compare. Nothing is saved: it comes back when you tick it again, close the list, save the scene or enter Play mode.
- Tick Thickness or Slope on a row to give that object its own values: a Thickness from 0 to 0.3 m, and a Slope threshold from 0 to 1, where lower values keep the accumulation on steeper surfaces such as roofs. The row keeps them, nothing is added to the object. When a listed object sits under another listed object, the nearest row with its own values applies.
- A warning icon marks the objects whose shader is not drawn in the deferred G-buffer, such as forward only shaders. They get no accumulation.
- To check which surfaces carry the accumulation, turn on Show Receivers under Show Mesh in Snow Accumulation: it tints them in green.
Global Snow does not change the objects of the list. While the cameras draw, the Receivers carry the last rendering layer of the project, and they get their own Rendering Layer Mask back right after. If a light or decal of your project uses that last layer, it also reaches the Receivers during the frame. The Receivers belong to the scene, so profiles do not store them. After moving, adding or removing receivers in Play mode, call GlobalSnow.ReceiversChanged() so their snow follows.
With Show Receivers on, the terrain, the only receiver of this scene, turns green. The table is not a receiver, so it keeps its colors, and the ground under it has no accumulation.
Objects with Global Snow Ignore Coverage, Block Snow/Rain and Precise, such as a parked car, keep the accumulation off the ground under them. It slopes down to zero at their outline seen from above, over twice the Thickness (between 25 cm and 1 m). To keep a long road or path clear of snow, use the Object Snower of the Coverage Mask Editor.
The same table with Block Snow/Rain only, and then with Block Snow/Rain and Precise. Without Precise the top-down capture lets the snow in under the table, so the accumulation buries its legs. With Precise the ground under it stays bare and the accumulation ends at its outline.
Deep Marks work in Play mode. Enable them in Footprints & Marks > Deep Marks. These objects dig marks:
- Characters and other objects with the
Global Snow Interactioncomponent (see Global Snow Interaction). They dig the Snow Accumulation of any Receiver they rest on, such as the ground or a roof, with nothing needed on the surface. A Rigidbody without the component leaves no marks. - Vehicles with wheel colliders and the
Global Snow Interactioncomponent. - Objects added by script with
AddContactSource()(see Scripting Support).
How deep an object sinks is its Sink Depth in Global Snow Interaction: 1 reaches the ground, a light object barely dents the snow. Objects added with AddContactSource() sink to its sinkDepth, 65% of the accumulation by default. Where the snow left under a mark is thinner than the Dirt Floor, the dirt shows through (Dirt Reveal). The marks fill back in after the Common Duration, and they are cleared when Snow or the Thickness reaches 0, so new snow grows without the old marks. Where there is no deep mark, Footprints and Collision Marks keep marking the snow when their own Enabled box is on. Without the snow accumulation (Snow Accumulation off or Performance Level Fastest), Deep Marks draw nothing, and the inspector shows a warning under Deep Marks.
Mesh Detail, under Snow Accumulation in Snow Appearance, sets how fine the accumulation mesh is on terrains, everywhere, so the marks and the snow edges stay smooth up close: 0 keeps the terrain mesh, 0.5 gives triangles of about 20 pixels near the camera and 1 about 4 pixels, and each step of the slider changes the size by the same ratio. Higher values cost more GPU time. Default 0.5. Performance Level limits it to 0.5 at Best and 0.25 at Medium and Fastest. Turn on Show Mesh under it to see the real triangle edges in dark green over the accumulation. When a terrain is too coarse for fine marks, a ? button next to Show Mesh explains how to refine it.
Global Snow Interaction
The Global Snow Interaction component sets how an object interacts with the snow: how deep it sinks, whether it bursts snow and ripples the puddles, how its collider marks the snow and, for characters, the footprint under each foot, exactly where it lands, with independent left and right prints. Add it to the root of the character or object with Add Component > Effects > Global Snow Interaction. On a physics object, add it to the GameObject that has the Rigidbody. Disable the component and the object leaves no marks, footprints, snow bursts or ripples.
| Parameter | Description |
|---|---|
| Sink Depth | Share of the snow accumulation the object sinks into. 1 reaches the ground and always reveals the dirt, a bird barely marks the snow. Range 0 to 1. Default 0.65. |
| Plow Mode | The marks are as wide as the bounds of the object and reach the ground. Use it for vehicles and blades that push the snow away. Default off. |
| Impact FX | Snow burst particles when the object hits the snow. Default on. |
| Ripples | Ripples on the puddles the object touches. Default on. |
| Surface Marks > Mark Size | Size of the Collision Marks of this collider. Default 0.25. |
| Surface Marks > Collision Distance | Distance the object must move before it leaves a new mark. Default 0.1. |
| Surface Marks > Separate Stamps | Each collision leaves a single round stamp instead of a continuous trail, with no snow particles. Default off. |
| Surface Marks > Step Max Distance | Maximum length of a trail segment between two positions. Set it to 0 to leave marks only at the contact points. Default 20. |
| Surface Marks > Rotation Threshold | Rotation in degrees that triggers a new mark. Default 3. |
| Feet > Footprints | Draws the sole footprint at each foot plant. The Footprints option of Global Snow must also be enabled. Default on. |
| Feet > Sole Texture | Shown when Footprints is on. Sole of this character. Empty uses the Footprints texture of Global Snow. The shape comes from the alpha channel with the toes at the top, and the texture covers Scale meters, so the space around the sole sets the footprint size. Up to 7 sole textures of their own show next to the Footprints texture; more objects use the Footprints texture. |
| Feet > Feet (skeleton bones) | Bones that move with each foot, such as the feet or paws of the rig, not the GameObjects of the shoes or the colliders. On humanoid rigs, Detect Feet fills them from the Animator. On other rigs, Detect Feet looks for bones named foot, paw or hoof, skips IK helper and target bones, and orders the feet left and right by name. You can also drag the foot or paw bones here: even entries are left feet, odd entries are right feet. |
| Feet > Detect Feet | Button that detects the feet again: the foot bones of a humanoid Animator, else the bones named foot, paw or hoof, without IK helpers and in left and right order. |
On a vehicle, the contact of each wheel collider with the ground leaves a mark every frame, and Deep Marks when they are on. The component also registers the object for Deep Marks, emits Impact FX when it hits the snow, and ripples the puddles it touches when Contact Ripples is on. Objects with feet leave their footprints and never leave Collision Marks.
The top of the inspector says what the object leaves: Marks: footprints, 2 feet for an object with feet, Marks: 2 feet, deep marks only when its Footprints option is off, or Marks: collider trail, Marks: collider stamps or Marks: plow trail for the rest.
Contacts with other moving rigidbodies, for example rocks resting on rocks, leave no marks and throw no snow. Only the ground and static or kinematic objects do. A bounce that touches the snow for a single physics step marks it and throws snow like a longer contact, and Deep Marks also follow bodies resting on slopes.
First Person Footprints
For the footprints of a first person camera, see First Person Camera.
Collision Marks
Collision Marks are drawn where objects with a Rigidbody and the Global Snow Interaction component touch the snow: the ground, a roof, a rock or any other object below them. Nothing is needed on the surface, and terrains need no setup. Only the contacts below the object count, so walls and objects resting on top leave no marks. A Rigidbody without the component leaves no Collision Marks.
To change how an object marks the snow, add Global Snow Interaction to it and use its Surface Marks options: mark size, separate stamps, the distance and rotation that trigger a new mark, and Plow Mode for vehicles and blades (see Global Snow Interaction). Wheel colliders also need the component: the contact of each wheel with the ground leaves a mark every frame. Disable the component to make Global Snow ignore the collider.
Moving Objects (Characters, Vehicles)
To keep the scene snow off characters and vehicles and give them snow that stays in place as they move, see Exclude Characters, Props and Effects. For vehicle tracks, see Tracks for Vehicles.
Snow on Plants With Their Own Shaders
For snow on terrain grass, plants placed as objects, Shader Graph plants and trees drawn in the forward pass, see Add Snow to Vegetation.
Per-Object Exclusion (Global Snow Ignore Coverage)
Add this component to any GameObject for finer control over the snow. It affects the object and all its children.
| Option | Description |
|---|---|
| Block Snow/Rain | When enabled, the object keeps snow and rain off the surfaces below it in the top-down capture (shelters, roofs, bridges). When disabled (default), it is left out of the capture, so it does not block snow or rain below it. |
| Block Snow/Rain > Precise | Shown when Block Snow/Rain is on. Blocks snow and rain with a fine capture from above, so none falls under or inside the object, such as a car or a cabin with an open door. The Snow Accumulation slopes down to its outline. The rain also follows the shape of the object: drops hit its real top and throw small droplets, and standing and flowing water follow its surface, so the water stays only on its level parts and runs down its slopes. It costs a capture of the precise objects within 64 m of the camera. Default off. |
| Include Transparents | The whiteout also covers the transparent parts of the object, such as car windows. With Block Snow/Rain and Precise on, these parts also get rain drops, hit rings and running drops within 30 m of the camera. The rain needs Running Drops on. It costs one more draw of those parts per camera while the whiteout shows or it rains. Default off. |
| Receive Snow | When enabled, the object receives snow even if its layer is not in the Layer Mask. When disabled (default), the object gets no snow. |
| Use Fast Mask Shader | Shown when Receive Snow is off. Uses a fast shader to exclude the object. Disable it for objects with vertex animation or displacement, so the exclusion follows the deformed mesh. Default on. |
| Exclusion Cut Off | Shown with Use Fast Mask Shader. Alpha threshold for semi transparent objects. Range 0 to 1. Default 0, which uses the alpha clip of the object materials when they have one. |
For the steps to use this component in each case, such as giving snow to only a few objects, see Control Snow Placement.
Coverage Mask Editor
The Coverage Mask uses a texture to choose where snow appears: white = full snow, black = no snow. Global Snow reads the red channel of the texture. On the snow accumulation, gray makes the snow thinner instead of transparent, so a soft brush leaves a slope down to the ground. The mask only shapes the snow: rain wetness, puddles and running drops do not follow it.
Inspector Setup
| Parameter | Description |
|---|---|
| Coverage Mask | Enable it and assign the mask in Texture (R). Click Fix Texture Import Settings if the inspector warns about them. |
| World Center | World position of the mask center. |
| World Size | Area covered by the mask in world units. Usually it matches the terrain size. |
| Fill Outside Mask | When enabled, the area outside the mask gets full snow. |
Scene View Mask Editor
Turn on Enable Mask Editor in the Coverage foldout, then click and drag over the scene to paint. The Mask Editor only works in Edit mode: in Play mode its options are hidden and the brush does nothing. The brush needs colliders under the mouse and only paints inside the area set by World Size and World Center. Outside it, the ring turns red and the label says so. The label also shows the cursor X and Z and the mask area.
- Create New Mask Texture - creates a mask asset of the chosen Resolution (256 to 8192), filled with snow.
- Brush Mode - add or remove snow. Hold Shift while painting to use the other mode.
- Radius / Fuzziness / Opacity - brush radius in meters, soft edge of the brush, and how much each brush stamp changes the mask. Stamps add up while you drag or click again.
- Fill Mask - fills the whole mask with snow.
- Clear Mask - removes all the snow from the area of the mask.
- Object Snower - Cover With Snow and Clear Snow add or remove snow under the shape of a Mesh Renderer seen from above, for example to clear a road. Padding widens the area around the object. Set its Opacity to 1 to clear it at once. When the object is fully outside the area of the mask, a warning shows and the buttons are disabled. When only part of it is inside, a note says so and only that part changes.
Profiles
A Global Snow Profile stores snow and rain settings so you can reuse them. Click Create next to the Profile field to make one from the current settings, or use Create > Global Snow Profile in the Project window. Assigning a profile applies its settings. Revert loads the settings from the profile and Apply saves the current settings into it.
A profile stores the weather (Temperature, Intensity, Snow and Puddles), the Performance Level and most of the coverage, appearance, Snow Accumulation, footprints and marks, snowfall, frost and rain settings. What points to objects of the scene stays on the Global Snow component, because a profile asset cannot point to them: the Sun, the Wind Zone, the Character Controller and Ray Origin of the first person footprints and the Receivers of the Snow Accumulation. The First Person Mode and Max Ground Distance, the Compare and debug tools and the Mask Editor and Puddle Editor brushes stay there too. Revert does not bring back a receiver you took out of the list, use Undo for that.
Transition Between Profiles
To blend the settings from one profile into another, see Gradual Changes and Seasons.
Several Cameras and Split Screen
Each Game camera that shows snow gets the coverage, the Snow Accumulation of the receivers and the Block Snow/Rain objects captured around itself, so split screen players see the snow right wherever they are. A camera shows snow when it is a Base camera on one of the layers of the Cameras Layer Mask of the Global Snow Render Feature.
- Up to 4 cameras keep their own captures, counting the Global Snow camera and the Scene View. More cameras, reflection cameras and reflection probes use those of the nearest one, and Overlay cameras use those of their Base camera.
- Deep Marks, snowfall, rain, snow dust and the camera lens drops follow the Global Snow camera only.
- A camera that stops drawing for 2 seconds frees its captures.
Coverage Update Methods
The top-down coverage capture can be updated in several modes (Coverage Update in the Coverage foldout):
| Method | When to Use |
|---|---|
| Every Frame | Scenes where large moving objects must change the snow coverage below them in real time. |
| Discrete | Most scenes. Captures again after the camera moves the Update Distance (50 meters by default). In large scenes with a high Coverage Extension, a longer distance means fewer captures. This is the default. |
| Manual | Static scenes. Call UpdateSnowCoverage() from a script when needed. |
| Disabled | No new captures. Footprints and Collision Marks may not render correctly in this mode. |
Comparing With and Without Snow
Enable Compare in the Tools & Debug foldout to split the view with a line: one side shows the scene without Global Snow. Change the Line Angle and Line Width as needed. With Same Side, both sides show the same part of the scene, because a copy of the game camera renders it without Global Snow. Turn Compare off when you are done, since Same Side renders the scene twice.
Next Steps
- Rain & Water - rain, wetness, puddles and running drops.
- Scripting Support (C#) - runtime API for weather, marks, mask painting and snow queries.
- Troubleshooting - solutions to common issues.
Suggest an improvement
Help us improve this documentation page.