Snow Volumes

intermediate concepts

Global 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.

Built-in Exclusive: Snow Volumes using the 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:

  1. When an object with a collider enters the volume's trigger collider, OnTriggerEnter fires.
  2. The volume lerps the target GlobalSnow component's properties to match the volume's configured settings.
  3. When the object exits the volume, OnTriggerExit fires 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

  1. Create an empty GameObject in your scene.
  2. Add a Collider component (Box Collider is most common) and enable Is Trigger.
  3. Add the GlobalSnowVolume component.
  4. Scale and position the collider to cover the desired area (e.g., the interior of a building).

Step 2 - Configure the Volume

ParameterDescription
Target ColliderThe collider that triggers this volume. Typically the player's collider. If not set, any collider entering the volume will activate it.
Target Global SnowReference to the GlobalSnow component whose properties will be modified. If not set, uses GlobalSnow.instance.
Debug ModeWhen 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.

Collider requirement: The entering object must have a Rigidbody (or the volume must have one) for OnTriggerEnter/OnTriggerExit to fire. This is standard Unity physics behavior.

Next Steps

Was this page helpful?