Troubleshooting

intermediate troubleshooting

Global Snow (Built-in) · Troubleshooting & FAQ

Troubleshooting

This page covers the most common issues users encounter with Global Snow (Built-in) and how to resolve them.

Objects get clipped or disappear with snow enabled (Forward)

SymptomSome opaque objects disappear or get partially clipped when Global Snow is active in forward rendering.
CauseThe object's shader does not expose a RenderType tag, so Global Snow's replacement shaders cannot handle it.
Solution
  1. Enable Fix Materials in the Scene Setup section - this forces all non-transparent materials to expose an Opaque RenderType.
  2. Alternatively, edit the object's shader and add the appropriate RenderType tag:
SubShader {
    Tags { "RenderType"="Opaque" }
    ...
}

Supported RenderType values:

  • Opaque - standard opaque with snow (respects OpaqueCutout setting).
  • TransparentCutout - always discards transparent pixels from snow coverage.
  • TerrainOpaque - fully opaque, ignores alpha channel.
  • AntiSnow - completely prevents snow on this geometry (use for water, lava, etc.).

No snow visible

SymptomYou added the GlobalSnow component but no snow appears.
CauseMinimum Altitude is too high, or the component is not on the correct GameObject.
Solution
  1. Verify Minimum Altitude in the Coverage section is below your terrain's height.
  2. Ensure the component is on the active Main Camera - this is required in the Built-in RP.
  3. Check that the Layer Mask includes the layers of your terrain and objects.
  4. Try the Best Quality preset to rule out distance optimization issues.

Snow shifts or distorts on moving characters

SymptomSnow on a character or vehicle changes shape as it animates or moves.
CauseGlobal Snow applies snow based on GBuffers/screen-space - it does not differentiate static from dynamic objects.
Solution
  1. Exclude the object from global snow coverage (layer mask or GlobalSnowIgnoreCoverage script).
  2. Assign the GlobalSnow/Moving Object Snow/Opaque shader to the object's materials.
  3. See Moving Objects for a full walkthrough.

Excluding terrain from snow (Deferred)

SymptomYou want the terrain itself to have no snow while other objects do.
CauseThe terrain uses a standard material that receives global snow.
Solution
  1. Switch the terrain material to the TerrainWithoutSnow material in GlobalSnow/Resources/Common/ExcludedTerrain.
  2. Edit GlobalSnow/Resources/Workflow_Deferred/Shaders/SnowOverlay.shader and uncomment the stencil lines.

Fix Materials not resolving all objects (Forward)

SymptomEven with Fix Materials enabled, some objects still disappear or lack snow in forward mode.
CauseThe object uses a custom shader with non-standard keywords or rendering queue.
Solution
  1. Try enabling Opaque Cutout in addition to Fix Materials.
  2. If the object uses alpha-tested textures, ensure the shader has RenderType="TransparentCutout".
  3. For tree objects, enable Fix Tree Opaque.
  4. As a last resort, manually add the correct RenderType tag to the shader source.

No snow marks on floating platforms or non-terrain objects

SymptomTerrain marks only appear on the Unity Terrain, not on other geometry.
CauseThe object is missing the GlobalSnowCollisionDetector script.
SolutionAdd GlobalSnowCollisionDetector to any non-terrain object that should support snow marks:
gameObject.AddComponent<GlobalSnowCollisionDetector>();

FPS weapon receives snow (Deferred)

SymptomYour first-person weapon model is covered in snow.
CauseThe weapon renders close to the camera near-clip plane within the snow depth range.
SolutionEdit GlobalSnowDeferredOptions.cginc and uncomment EXCLUDE_NEAR_SNOW. If the weapon is still affected, increase the NEAR_DISTANCE_SNOW value.

Grass appears transparent (Deferred)

SymptomUnity standard grass becomes see-through when Global Snow is active.
CauseRender queue conflict with grass billboard and waving grass shaders.
Solution

Option 1: Edit WavingGrass.shader and WavingGrassBillboard.shader in Resources/Workflow_Deferred/Shaders/Grass & Billboards and change:

"Queue" = "Geometry+200"
// Change to:
"Queue" = "Geometry+1200"

Option 2: In the same shaders, comment out:

// exclude_path:deferred

Unity standard tree billboards not covered (Forward)

SymptomTree billboards render without snow in forward rendering mode.
CauseTree billboards render in the transparent queue, which Global Snow skips by default.
Solution
  1. Edit GlobalSnow.shader and uncomment the last SubShader section related to TreeBillboard.
  2. Edit GlobalSnow.cs and comment out [ImageEffectOpaque] before the OnRenderImage method.

For deferred mode: import the GrassAndBillboardsReplacementShaders package from Resources/Workflow_Deferred/Shaders/Grass & Billboards.

Snow appears behind reflections or lighting artifacts (Deferred)

SymptomSnow renders incorrectly with reflections or shows lighting artifacts in deferred mode.
CauseThe Deferred Camera Event is set incorrectly for your project's Graphics Settings.
Solution
  1. If deferred reflections are enabled in Graphics Settings, use BeforeReflections (default).
  2. If deferred reflections are disabled, change to BeforeLighting.

Snow artifacts or banding at distance (Deferred)

SymptomSnow shows visible banding or precision artifacts on distant surfaces in deferred mode.
CauseThe default 8-bit normals buffer lacks precision for distant snow calculations.
SolutionEnable FP Normals Buffer in the Scene Setup section. This uses a 16-bit floating-point buffer that resolves precision issues at the cost of slightly more GPU memory.

VR: snow looks different in each eye

SymptomIn VR, the left and right eye show mismatched snow.
CauseVR stereo rendering mode mismatch.
SolutionUse deferred rendering for best VR compatibility. If using forward mode, check the Force VR SPSR setting matches your VR SDK (enable for OpenVR, disable for Oculus).

Shader compilation takes very long

SymptomLong compile times when Global Snow is in the project.
CauseMultiple shader variants from multi_compile directives across both Forward and Deferred workflows.
SolutionSee Reducing Shader Variants on the Performance Tips page. Delete the unused workflow folder (Workflow_Forward or Workflow_Deferred) to cut variants in half.

Still stuck?

Visit the Kronnect Support and post your question. Include your Unity version, rendering path (Forward or Deferred), and a screenshot of the Global Snow inspector.

Was this page helpful?