Tasty Grass Shader is a general-purpose procedural grass, flowers and debris framework. Leveraging modern graphics techniques such as Compute Shaders and Indirect Draw, it’s very efficient at rendering hundreds of thousands of blades!
![](https://symmetrybreak.com/wp-content/uploads/2024/05/image_054_3090-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/image_054_4260-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/image_054_2370-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/image_054_5220-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/image_051_0860-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/image_054_5370-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/image_054_8280-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/TGS_v2_005_0001-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/TGS_v2_009_0001-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/TGS_v2_011_0005-1024x576.png)
![](https://symmetrybreak.com/wp-content/uploads/2024/05/TGS_v2_015_0010-1024x576.png)
Features
Powerful procedural generation
- Scriptable Object-based settings system
- Use any grayscale texture to control the distribution of parameters, such as: height, angle, bending, thickness, and color of grass blades
- Up to four customizable layers of variation
- Several ready-to-use noise textures included.
Effective Level-Of-Detail and Quality system
- Control the density over distance via template settings and graphics quality settings.
- Optional use of Alpha-Clipping for finer grass blade shapes.
- Support for Multi-Sampling Anti-Aliasing (MSAA) and Alpha-To-Coverage in URP Forward.
Wind and collision system
- Use sphere colliders to make objects interact with the grass
- Simple and effective procedural wind
- Tweakable wind speed, strength and patterns
Support for any Unity Mesh
- Height controllable via vertex color.
- No Read/Write flag required.
- Vertex colors from DCC assets supported.
- Vertex colors from Polybrush supported.
Support for Unity Terrain
- Grass can be assigned to entire terrain or to a single Texture Layer.
- Built-in chunk system for optimal runtime performance on large terrains.
- Slope cutoff control.
Hack-friendly source code
- Tasty Grass can be used without Unity components.
- Endpoints for custom terrain solutions included.
- All important functions are exposed.
Supports 3D (Forward and Deferred) and VR (Single-Pass Instanced and Multipass)
Requirements
- Unity 2021.3+
- URP 12.1+
- Support for DirectX 11, Metal or Vulkan. (Compute Shader and Draw Indirect support required)
Further Notes
- The skybox used for the screenshots is not included in the package and is sourced from AllSky – 220+ Sky / Skybox Set.
- Issues with AMD GPUs + DirectX 11/12. (Workaround available)
- There is no compatibility with Lightmaps yet.
Support & Contact
If you encounter any issues or have questions, we are happy to help via Discord | GitHub | Email