That's very good info, thanks.
Sorry if I wasn't clear, I do want it to appear in my game. It's simply that, because it's procedural and the mesh doesn't exist until the game is launched I was unable to use the editor as I obviously cannot select a target surface that doesn't exist yet. And also, for optimisation reasons I wanted the option of placing stuff in runtime.
I was really surprised when I checked the docs and found there were no methods I could call to simply run the tool from script.
In the end I just did it the old fashioned way and looped through it setting it to the surface but it was a shame not to have an api for this tool, which is super convenient. Maybe the approach that's most in the spirit of OpenSource is what you suggested last, I should have a crack at coding it myself if my shaky C++ is up to it. :)