This is an old topic, but it's still valid.
There are a couple of ways you can handle grass outside of Unity's Terrain.
The most simple way is to create your own planar mesh and apply a shader with back face OR use a reversed V pattern which are really close to each other where each side is the mirror of the opposite. Then place that manually one by one in your scene. The trick is to make sure it's both a static prefab as well as having it enabling GPU Instancing on the material. This will allow the grass to be either batched or having a single copy stored in the GPU and rendered with the lighting variation. (It's one or the other, but by enabling both, the engine is the one which manage what's where based on the priorities.)
The CON of that option is that it's time consuming.
The slightly more complex by WAY faster option is to use a particle (shuriken) system with a Mesh emitter with 0 gravity and force and with the setting so that the grass appears on the mesh's surface. You can make the grass particle infinite by disabling the "over lifetime" module in the particle, activating "Looping" + "Prewarm" and by typing "Infinity" in the StartLifetime option. Ideally, you would have to have a script that could call the Stop() function so that the particle stop calculating generating, but keep the instantiated particles in the scene.
If everything have been set right, this would generate the grass with GPU instancing.
The cool thing about this possibility is that you can controls the particles features like cast/receive shadows, the amount of grass generated, if the grass is affected by light probs and reflection probs or not, etc. It makes it easy to setup with advanced graphical options.
You can even setup a master shuriken particle system that generate different multiple kinds of grass and flowers if you set it up right.
The only CON to this option is the lack of LOD if you got some really complex geometry for the mesh on which the grass texture appears. (It does apply Midmaps if the textures has Mipmap activated!) If you wonder, yeah it's possible to have the winds/force to affect particles... but that's has to be done in the shader used for the particle.