ATG is a grass rendering solution which was built to replace the detail rendering system of Unity’s terrain engine in order to get rid of almost all spikes on the CPU — which usually are caused by new grass patches coming into sight when your camera is moving. So ATG will help you to reduce work on the CPU – but at the same time it might add some more costs on the GPU side.
Next to this initial purpose ATG offers significant improvements regarding lighting and wind animation.
ATG is not an authoring tool: It simply takes the grass and details you have added to your terrains and takes over their rendering. That being said ATG is compatible with any 3rd party authoring solution that allows you to create grass density maps for built in terrains within the Unity editor like e.g. Terrain Composer, Map Magic, World Creator or Gaia. Runtime distributed grass currently is not supported.
Get it on the asset store
Benefits
ATG was built to avoid major spikes on the CPU and gives you quite stable and reliable costs per frame, or — in order to be more specific — time slices and shifts work from the main thread to a worker thread and the GPU.
It lets you use advanced lighting features such as physically inspired specular highlights and translucent lighting and enables any grass prototype to even cast real time shadows.
Limitations
ATG is mostly suitable in case you are CPU bound.
ATG needs DX11, Metal (tested on OS X – not iOS) or OpenGLCore (Linux or Windows, Mac is not supported). Xbox One and PS4 should be fine as well although i have not been able to test it.
ATG currently only works on squared terrains and does not support Detail Resolutions < 256. Billboarded grass is not supported either.
ATG currently does not support lightmaps. And it does not support real time lightmaps as well, which — unfortunately — is by design, as Unity does not let us access real time lightmap data from script.
Fast moving cameras currently may cause grass to just pop in. A speed of 6 (fpc) – 10 just should be fine.