How to spawn geometry (ex: moss mesh) on a static mesh surface ex: tree trunk

Hi guys
I am trying to generate moss mesh procedurally on tree trunks. I have a bark material with albedo, normal, roughness etc. The moss has to be separate static mesh with material on it. The moss needs to be scattered on the tree trunk randomly. If I get controls for directionality, that would be awesome. How do I do this?

Any reason why you don’t want a shader solution for this?

I know how to generate moss using just textures, but I want the moss to be mesh rather than just textures, so I can get a feeling of volume. I am not very worried about performance at this stage. Once I get the moss on bark, then can look at optimizing it. Also my trunk will be nanite. Thanks