Brute Force - Grass Shader Documentation

5. Grass Properties


The Grass asset is controlled entirely through the material property block, I suggest toying with the values to familiarize yourself with them.

I will describe the important one in order:

- Grass Shading: Controls the darkness of the layers, low value will result in very dark bottom layers

- No-Grass Texture: A B&W texture to control where the grass and ground should be

- Grass Pattern: A B&W texture to control the shape of the grass, white values will draw more grass

- Number of Stacks: The number of grass layers, higher value will cost more performance (Max is 17)

- Offset Normal: The grass position offset based on face normals (Change this if you want to change grass height)

- Offset Vector: The grass position offset based on a Vector3

- Fade Distance Start/End: The distance at which the grass gets culled to save performance

- Minimum Number of Stacks: The least amount of layers to show when culled by fade distance

- Grass Thinness: The grass density, higher values make it more blocky

- Grass Thinness Intersection: The grass density transition around the No-Grass Texture (Ground)

- Tiling of Grass: UV scale of the grass pattern, use this instead of the UV Tiling

- Grass Cut: The ground Cutout value, higher values will make the ground disappear

- Use RenderTexture Effect: Disable it if you don't want interactive effects

- Use Procedural Tiling: A Tile-breaker feature to make grass chunks look good from afar 

You can switch textures around or try different materials from the large collection in the package:


If you want to create your own materials here is the list of grass shaders you can use both for Unity Standard and URP:


InteractiveGrass: Full-featured grass and well optimized for PC and Linux, this is what I refer to the "Normal" Grass Shader.

InteractiveGrassLite: Lite version of the above shader, it doesn't have an extra pass for shadow casting and is well suited for everything including Nintendo Switch build.

InteractiveGrassMobile: An adjusted shader variant without the geometry pass, fully compatible with Metal: Mac & Mobile Please read the next page about the extra setup and major differences.

InteractiveGrassTerrain: Shader variant for Terrain Support, you have to use this one if you want your grass to work on Unity built-in terrains. Please read the Terrain Shader page for more information.