It’s all to do with using instanced static meshes ( or hierarchical ).
The basics are
- Make a HISM actor
- Add instances of it
- I found that setting the transform after placing worked best:
You need one HISM for each foliage type.
For your needs ( totally guessing here ), I’d say a collision box would do the trick. The blueprint can choose random points inside the box and do line traces to the landscape or mesh, and put the foliage there. Easy to add height sensitivity later etc.
Tell me if you can’t get it working, and I’ll drop some basic code in here.