Reference
Troubleshooting
Diagnose setup, rendering, interaction, bake, and performance problems.
Renderer never reaches Ready
Read the renderer’s first error before retrying. Confirm the Terrain, TerrainData, living TerrainLayer, material, compute support, and maximum-blade budget. A blocked GPU upload exposes an explicit retry action; repeated regeneration does not fix an invalid material or unsupported persistent payload.
Grass color or density changes at an LOD
Confirm that the renderer and profile use the package shader and current presets. Keep fixed exposure and color grading while comparing. Use the LOD and species debug views to distinguish a real color discontinuity from different geometry coverage. The accepted 0.9.x path retains stable root-to-tip contrast and removes subpixel root occlusion at the far tier.
Mid or far field looks grainy
Check the image at native output resolution before changing density. TAA or another temporal antialiasing path is recommended for Cinematic procedural motion. Verify the current connected LOD2 proxy, the wider LOD3 transition, far-width compensation, and current profile material. Do not increase authored density first; it increases placement, memory, and command work without necessarily fixing subpixel breakup.
Runtime paint does not update
Enable Auto Update At Runtime and paint a TerrainLayer that participates in living, dead, additional, or no-grass roles. Kiwi Grass consumes Unity Terrain change callbacks and patches affected chunks at the configured cadence. The sample’s P control is a known-good TerrainData.SetAlphamaps reference.
Stomp does not appear or recover
Confirm stomping is enabled, the source overlaps the Terrain grass envelope, and its collider or manual bounds are valid. Check source cap, texture resolution, world padding, tile size, and recovery rate. A source outside the envelope is intentionally ignored.
Persistent bake is rejected
Use the validation window or renderer inspector. Missing, stale, corrupt, unsupported, terrain-mismatched, settings-mismatched, and stride-mismatched payloads are distinct states. Reset Terrain rotation to (0, 0, 0) and scale to (1, 1, 1) before rebaking. Formats 1 and 2 remain readable; multi-species fields require format 3.
Automatic Hi-Z is inactive
Automatic Hi-Z runs only for the supported main non-stereo base Game camera when compute, asynchronous readback, and R32_SFloat load/store are available and the view is profitable. Camera changes clear history; open or unprofitable views back off. Unsupported targets use the compatibility renderer without suppressing grass.
What to attach to a support report
Send support@kiwistudios.co the Kiwi Grass version, Unity and URP versions, operating system, graphics API, quality/profile names, renderer status text, a fixed-camera screenshot, and the relevant Player log or minimal reproduction.
Still stuck?
Bring the renderer status with you.
Include the Kiwi Grass version, Unity and URP versions, operating system, graphics API, renderer status, Player log, and a minimal reproduction.