Troubleshooting

intermediate troubleshooting

Global Snow · Troubleshooting & FAQ

Troubleshooting

This page covers the most common issues users encounter with Global Snow 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. In Built-in RP, ensure the component is on the active camera.
  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 for stable snow coverage.
  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 (remove /* and */).

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>();

Terrain marks appear in the distance where nothing is moving

SymptomGhost marks appear far from the player.
CauseThe terrain marks texture wraps, making old marks reappear at distance.
SolutionIncrease the Extents parameter or reduce the View Distance parameter in the Terrain Marks section.

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

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 and performance. 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.
SolutionSee Reducing Shader Variants on the Performance Tips page. If you only use deferred, rename/delete the forward shader file entirely.

Still stuck?

Visit the Kronnect Support and post your question. Include your Unity version, render pipeline, and a screenshot of the Global Snow inspector.

Was this page helpful?