Kiwi Grass Docs
View product

Getting started

Installation and setup

Install Kiwi Grass, configure TerrainLayers, and create the first deterministic field.

Kiwi Grass 26.9.0Unity 6000.0+URP

Install and verify

Install package.json through Package Manager, import Cinematic Grass Showcase, and open its scene before changing a production Terrain. This full-quality sample is the package-safe reference for the expected silhouette, lighting, wind, interaction, multiple-species composition, runtime painting, and quality controls. Import the 300 m or 1000 m benchmark separately only when its fixed-camera performance workflow is needed.

Get running quickly with Quick Setup

Quick Setup is a great way to get your first Kiwi Grass field up and running quickly. It reduces onboarding to three short actions:

  1. Create or choose a Terrain. It may be empty, or it may already contain authored living-grass and no-grass TerrainLayers.
  2. Add TerrainGrassRenderer to the Terrain.
  3. Click the prominent Quick Setup button at the top of Setup, then wait for the renderer status to report Ready. The same command remains available from Actions > Quick Setup.

An untouched renderer whose serialized component values still match their defaults is treated as newly added and receives the top-level button. Changing any renderer setting removes that new-component prompt without changing the Actions menu. On a Terrain with no valid TerrainLayers, Quick Setup applies the bundled Kiwi Grass layer palette in its original Meadow, SoilLayer, and Dead Lawn order, paints Meadow across the Terrain as the initial living surface, assigns the three layer roles, and continues setup. On a Terrain that already has an authored layer, it preserves that layer configuration and follows the existing role-resolution path. Quick Setup also assigns the bundled material and stomp compute shader, applies a safe starting preset, and starts regeneration. Once the field is visible, use the remaining controls to refine its look, coverage, interaction, and quality for the project.

Configure or refine a Terrain manually

  1. Use a Terrain with identity rotation and unit scale.
  2. Add at least three TerrainLayers: living grass, the bundled Dead Lawn layer, and a dirt, path, or rock layer that should not grow grass.
  3. Add TerrainGrassRenderer to the Terrain.
  4. Assign the living and no-grass roles, then choose Actions > Setup > Apply Current Look (Default).
  5. Wait for Ready before entering Play Mode or capturing performance.

Choose Cinematic Golden Field when its longer range, richer hero-field lighting, and per-blade shadow casting are required. It uses camera-only motion vectors and no grass-authored depth normals. Existing profile-driven renderers can adopt only its horizon treatment and Cinematic quality profile through Apply Cinematic Far Quality; the embedded path keeps GrassDemo300's lighter no-casting policy.

Choose profiles and quality

Profile mode shares grass, wind, and quality presentation between renderers. Embedded mode retains serialized component values. Never edit bundled package presets in place; create an editable project copy from the renderer or profile inspector.

Desktop High plus runtime Medium is the balanced desktop workflow. High keeps the authored profile, Medium applies the locked 75% survivor and shorter distance budget, Low applies the 50% mobile-style runtime budget, and Off submits no grass work.

Add interaction

Enable stomping and add TerrainGrassStompSource to a moving object. Collider contact is the default. Use manual local bounds only for sources without a suitable collider. The sample’s red explorer demonstrates held deformation and recovery.

Add Artist Control and persistent data

Create a project-local control map from Create & Paint Control Map. Author saved masks in the Scene view; use TerrainLayer painting for runtime landscape changes. When startup generation is unacceptable, create a persistent bake after the final Terrain, control-map, profile, and species settings are locked.

Persistent bakes require Terrain rotation (0, 0, 0) and scale (1, 1, 1). The inspector and build validator report the exact reset-and-rebake action when this contract is violated.

Confirm the result

Use the renderer status and debug views to confirm Ready state, expected blade/chunk counts, and no blocked upload. Keep the camera, exposure, terrain seed, and lighting fixed when comparing visual changes.

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.

Email supportJoin Discord

Kiwi Grass 26.9.0

Search documentation