Skip to content

unitycoder/UnityURP-Procedural-DrawMeshInstancedIndirect

 
 

Repository files navigation

UnityURP-Procedural-DrawMeshInstancedIndirect

Procedural grass rendering in Unity URP using DrawMeshInstancedIndirect and WeightMap control.

Performance Example

You can directly test the demo on Android devices using the APK below: Download UnityURP-Procedural-DrawMeshInstancedIndirect.apk (Google Drive)

Demo Video

Demo Video

Features

  • Purely procedural instance data generation (no pre-generated assets)
  • WeightMap-based distribution control (e.g., for grass/vegetation)
  • DrawMeshInstancedIndirect rendering pipeline for maximum efficiency

Learn More

Read the full technical article on Google Blog

Looking for a Complete Solution?

If you need a ready-to-use, production-level system with:

  • Powerful Compute Shader brush tools for painting vegetation
  • Automatic terrain height & normal alignment
  • Support for four types of vegetation (billboard-based)
  • Built-in wind system and large-scale character interaction (push & flatten grass)
  • User-friendly editor integration

Check out GPUPlantPainter on the Unity Asset Store.

For more complex procedural workflows (procedural random curve vegetation effects, similar to Ghost of Tsushima) check out: GPUGrassBladePainter on the Unity Asset Store.

About

Procedural grass rendering in Unity URP using DrawMeshInstancedIndirect and WeightMap control.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 88.3%
  • HLSL 10.8%
  • ShaderLab 0.9%