Making reusable systems

So i would like to know how to make reusable systems. For example. Let’s say i got an awesome idea for how to create a system that allows quick creation of trees. And i would like to make this system and be able to use it in other projects. Currently the only idea i have for how to do this is to create a project that has the system. Then copy a folder with all the system in it into another project. Is there a better way?

If you are using just blueprints then I don’t know of any way better than what you are doing, but if you are using C++ and blueprints, have a look at the following: