Global Snow (Built-in) · Troubleshooting & FAQ
Deferred is recommended for most projects. It provides the best performance because it modifies GBuffers directly with no extra full-screen pass. Use Forward only when your project specifically requires the forward rendering path (e.g., for MSAA, certain post-processing setups, or mobile constraints).
The Decal mode stamps snow directly onto terrain geometry using decals rather than a full-screen effect. It is available as a separate download from the Kronnect support forum and is ideal for mobile or low-end devices where fill rate is the bottleneck.
Snow Volumes (GlobalSnowVolume) are trigger-based zones exclusive to the Built-in version. When an object with a collider enters a Snow Volume, the volume lerps the target GlobalSnow properties to its configured settings. This is ideal for indoor areas, caves, or creating regions with different snow intensity. See Snow Volumes for setup details.
Distance Optimization uses a simpler, cheaper snow shader for surfaces beyond a configurable distance from the camera. You can set the detail distance, choose a separate tint color for distant snow, and optionally ignore normals and coverage checks for maximum performance. The transition is smooth and usually unnoticeable during gameplay.
In Forward rendering mode, Global Snow uses shader replacement, which requires materials to have a valid RenderType tag. Fix Materials forces all non-transparent materials to expose an Opaque RenderType tag so they are correctly handled by the snow replacement shaders. Enable it if objects disappear or get clipped when snow is active.
Use the scripting API:
GlobalSnow snow = GlobalSnow.instance;
snow.FootprintAt(position, direction);Yes. Replace the footprint texture in Resources/Textures with your own. Alternatively, use the Terrain Marks feature with FPS Marks enabled for a different mark style.
Exclude the object from global coverage and apply the GlobalSnow/Moving Object Snow/Opaque shader. See Moving Objects for a step-by-step guide.
float snowAmount = GlobalSnow.instance.GetSnowAmountAt(worldPosition);
// Returns 0 (no snow) to 1 (full snow)Yes. Deferred rendering is recommended for the best VR performance and compatibility. For forward rendering, enable Force VR SPSR if using OpenVR (disable for Oculus). See Troubleshooting for stereo rendering details.
The Built-in version supports three rendering modes (Deferred, Forward, Decal), includes Snow Volumes (GlobalSnowVolume), Distance Optimization, Smooth Coverage, SpeedTree integration, and material fix utilities. The URP version uses the SnowSurface component for per-object snow, supports subsurface scattering, preserveGI, and exclusionBias. They share the same core snow rendering quality but differ in pipeline-specific features.
Yes. Use the CircularHole or QuadHole prefabs from GlobalSnow/Resources/Prefabs. These use the GlobalSnowEraser material and GlobalSnowIgnoreCoverage script to act as stencil objects. You can also use any custom geometry with the same material and script.
Support for Unity Water Pro from Standard Assets is included. See the README file in GlobalSnow/Extras/WaterReflections for setup instructions.
Yes. Set GlobalSnow.instance.deferredCameraEvent to either CameraEvent.BeforeReflections or CameraEvent.BeforeLighting and call UpdateMaterialProperties().
Yes. When the VertExmotion asset is installed in your project, Global Snow automatically integrates with it. Snow coverage will account for vertex displacement caused by VertExmotion animations without any additional setup.
Help us improve this documentation page.