Some questions about Instances

Hi Folks

I´m trying to create some random low poly trees as screenshot below.

My first try was using instanced static meshes. But I can not understand how to apply. My first problem is to compose this tree, I have 8 SM. 3 Roots, 1 Trunk, 2 Leaves and 2 Branches. (variations).
Here goes some questions:

  • I need one Instanced Static Meshes variable for each variation of meshes? Or I can change the Static Mesh for each Add Instance “on the fly”?
  • The Engine will understand and “group” this instances of each tree? I mean, If I have 8 instances per tree, the engine will group all for performance?
  • I dont know why, but every time I try to add more than 2 Instanced Static Mesh Component on construction script, the BP compiler Crash the editor. I need to add the component on “component section” or can be using “Add Instanced Static Mesh”? (I´m using the second one).
  • For performances, is better to create a global variable on level blueprint with Instances?
  • Instances have collision?
  • Instances have Distance Field AO/Shadows?

Thanks for all.