Create a geometry nodes setup for a ground object

is it possible to create a GNodes setup for a ground object which would take grass object & tree object, scatter (distribute) them on faces, and after Make Instances Real it would generate individual instances for trees, but joined (realized) mesh for grass?

If you setup your nodes to include a “realize instances” node after your grass scattering, when you apply the modifier it will produce a joined mesh.

However, when you apply the modifier it just loses the actual instances. if you make instances real, it duplicates your ground object and the full geonodes tree in the place of each instance.

There’s probably some clever workaround, but I haven’t found the best way to do this.

The best I found is to duplicate your ground object with the geonodes modifier, apply it to make the grass real, then on the original, disconnect the grass from the node tree, so it is just scattering instances of trees.