Wind Shake: High performance wind effect for leaves and foliage

Would there possibly be a way to attach the wind to a single area?

Thank you! I had originally put a serverscript into server script service instead of starterplayer. I appreciate the help!

I bought this plugin a while ago, it is extremely easy to use and works very well, 1 dollar for such a good plugin, pretty impressive!

1 Like

Is there a possibility to purchase the plugin with ROBUX ? :smiley:

1 Like

No, sorry. Roblox takes far too large a cut for that to be viable.


Is there a difference between the paid version and the plugin you can get for free?

I just bought the paid one and installed it, I then installed the free plugin and used it.


Is there a way to make the leaves relative to the trunk, but still have them shake separately?

I’ve tried the module and tested your windshake demo, seems a bit laggy with 17 fps.
Could it be my computer?

Would this work with dynamic foliage, in my game trees grow, die, and well, do tree things, will it “forget” objects if they are removed from workspace, or if new items with the tag are added during runtime?

1 Like

Sorry this is a very late reply… And your question may have already been answered. I use the ZonePlus module to pause and resume the wind streaks. Perhaps that would help your issue? Good luck!

Hi, I’m interested in using this module for a large project of mine that would include 1000+ shaken objects. I’m noticing performance dips here and there despite optimizing the meshes as much as possible. Is there a way to modify the code so it only shakes tagged objects within the local player’s camera? Thanks!

In my experience using a version of this from early last year, there is a WindController local script you put in your StarterPlayerScripts, and under it is a WindShake module.

In that is a function WindShake:Update() that is doing exactly as you ask. It takes the player’s camera position and look vector * some number of studs out and then a slightly larger radius from there to identify objects with the WindShake tag to apply the effect.

I’ve changed the studs out and slightly larger studs for radius for my different use-cases.

1 Like

Sorry for the late reply, appreciate you pointing this out, that should definitely help me out.

really great module, congratulations - thanks @boatbomber :heart_eyes:


This isn’t working for me for some reason. I followed this (Yt Tutorial I used and it wouldn’t work for me and I don’t know why.

I’m not sure if I’m mistaken but there seems to be an issue with the :CleanUp function. :CleanUp is called during the :Init function and self.Initialized is set to false which causes the :CleanUp function to be unable to be called outside :Init due to the self.Initialized check. Nobody seems to have mentioned this, I can’t be the only one that has encountered this issue.

Hi, I have a question, will the system be adapted for streaming?

I use it on my experience which has all its places with streaming enabled and have experienced no issues in its functioning.

1 Like

It’s already built with streaming in mind, don’t worry!

1 Like

Follow up, it does not, and looking to see if there is a way to allow it, currently it just changes the parts to the location they first formed

Is there a way to hopefully disable this movement somehow?

ignore the frame drops, tree generator batch spawn and terrain load in doesnt mix very well