Snow Volumes
intermediate conceptsGlobal Snow (Built-in) · Core Concepts
Snow Volumes
Snow Volumes are trigger-based zones that modify snow properties when an object with a collider enters them. This Built-in exclusive feature is ideal for creating areas with different snow intensities, indoor zones with no snow, caves, shelters, and smooth transitions between outdoor and indoor environments.
GlobalSnowVolume component are only available in the Built-in Render Pipeline version of Global Snow.
How It Works
The GlobalSnowVolume component uses Unity's trigger system:
- When an object with a collider enters the volume's trigger collider,
OnTriggerEnterfires. - The volume lerps the target
GlobalSnowcomponent's properties to match the volume's configured settings. - When the object exits the volume,
OnTriggerExitfires and properties revert to their original values.
This allows smooth transitions - for example, gradually reducing snow amount as a player walks into a cave.
Setting Up a Snow Volume
Step 1 - Create the Volume
- Create an empty GameObject in your scene.
- Add a Collider component (Box Collider is most common) and enable Is Trigger.
- Add the
GlobalSnowVolumecomponent. - Scale and position the collider to cover the desired area (e.g., the interior of a building).
Step 2 - Configure the Volume
| Parameter | Description |
|---|---|
| Target Collider | The collider that triggers this volume. Typically the player's collider. If not set, any collider entering the volume will activate it. |
| Target Global Snow | Reference to the GlobalSnow component whose properties will be modified. If not set, uses GlobalSnow.instance. |
| Debug Mode | When enabled, draws the volume bounds in the Scene View for easier positioning. |
Step 3 - Set Volume Properties
The Snow Volume stores a set of snow properties that will be applied when the volume is entered. Configure these in the inspector to define how the snow should look inside the volume. For example:
- Set Snow Amount to 0 for a completely snow-free interior.
- Reduce Snowfall Intensity to 0 for sheltered areas.
- Lower Camera Frost Intensity for warmer indoor areas.
- Adjust Snow Tint for areas with colored lighting.
Profile Lerping
When the volume is triggered, properties smoothly transition from the current state to the volume's target state. This creates a natural-looking transition rather than an abrupt switch.
You can use GlobalSnowProfile ScriptableObjects to define reusable snow configurations and assign them to multiple volumes:
using GlobalSnowEffect;
// Create a profile for indoor settings
GlobalSnowProfile indoorProfile = ScriptableObject.CreateInstance<GlobalSnowProfile>();
// Apply it to the GlobalSnow instance
GlobalSnow.instance.profile = indoorProfile;
Common Setups
Indoor Zone (No Snow)
Place a Snow Volume over the building interior with snow amount set to 0 and snowfall disabled. When the player enters, snow coverage and particles fade out.
Cave Entrance (Gradual Reduction)
Use multiple overlapping Snow Volumes with decreasing snow amounts along a cave entrance corridor. This creates a progressive transition from full outdoor snow to a dry cave interior.
Different Snow Biomes
Place Snow Volumes in different scene regions with varying snow tints, amounts, and quality settings to simulate different climate zones within a single scene.
Scripting Reference
Collider targetCollider
The collider that activates this volume. If null, any collider triggers the volume.
bool debugMode
When true, draws volume bounds in the Scene View.
GlobalSnow targetGlobalSnow
The GlobalSnow instance whose properties are modified. Uses GlobalSnow.instance if not set.
OnTriggerEnter/OnTriggerExit to fire. This is standard Unity physics behavior.
Next Steps
- Parameters - full inspector reference for all snow properties.
- Scripting Support (C#) - modify snow properties at runtime.
- Additional Topics - coverage masks, moving objects, and more.
Suggest an improvement
Help us improve this documentation page.