This tool made with Geometry Nodes Allows you to scatter leaves in the surface of an object.
As it uses instances, you can scatter an insane amount of geometry without using too much memory. It allows you to use different settings in render time and viewport and to use a mask to limit the amount of geometry. In that way, you can work without having performance issues. You can also remove leaves that are not visible to the camera.
You can use a custom leave collection too and have all the settings that you need to get the desired result fast.
You just need to append the LeaveScatter.blend, go to the NodeTree folder and select the LeaveGen Node. After that, add a Geometry Node modifier to the object and select the LeaveGen. You can follow the video bellow.