You provide some very helpful information. I suggest making a video about LOD, Multi-threading and render distance. All of these things will help optimize everyone's projects.
Just made interactive grass using this last night with hardly any CPU usage at all. At first couldn't figure out what was wrong because I used "DrawMesh" and not "DrawMeshInstanced". Something else good to note is that you can set the transforms of the Matrix4x4 with ArrayForInstancing[numhere].SetTRS(position,rotation,scale).
It surely could be, but it would be hard to add any logic etc. to the NPCs, as with this method of GPU instancing, you can just spawn meshes with no components I believe.
That's a good tutorial. I wonder if this works for my Editor tool. I spawn details on the Terrain with this tool, and I want to know if I can use this method outside of runtime.
Thanks! The way you make GPU instancing work is always the same, so I didnt cover more examples. Search online and you will definitely find more of them :)