A curated guide to using grasshopper plugins

On this Page

Plugins extend the base capability of Grasshopper by providing new components and functions that are not available in the default library. Some plugins are designed for specific tasks, such as structural analysis or 3D printing, while others offer more general-purpose functionalities, such as data management or component manipulation.

Installing and using plugins can help you to streamline your workflow, tackle more complex design challenges, and explore new creative possibilities. With hundreds of plugins available, there is a vast ecosystem of Grasshopper tools to choose from. But because there is so many, it can be overwhelming when first introduced to them.

My first exposure to plugins was very overwhelming. I just started out at this company and they installed 60+ plugins onto my computer. At this point, I wasn't comfortable with Grasshopper, so it made using Grasshopper very overwhelming.

Functional, Quality of Life and Hybrid Types

To better make sense of the sheer number of plugins out there. I have categorised plugins into 3 different types. These categories help me understand the plugin landscape and I hope they help you too.

1. Functional Plugins

These are plugins that extend the Grasshopper's base functions. They are more often than not designed for very specific things like structural optimization, matrix manipulation, or even 3D printing.

Here is a list of functional plugins that I personally use.

  • Human UI
    • This let's you build a UI around your Grasshopper script using components. Like a form with buttons and other input.
    • I use this when I need to send a Grasshopper script to someone who isn't familiar with Grasshopper.
    • It can get quite messy to make complicated forms because you would need a lot of wires and components to make the UI.
  • Human
    • This is useful for rendering elements on the Rhino Viewport that aren't geometry.
    • I use it a lot to render HUDs or legends.
  • The BHoM
    • This is more than a Grasshopper plugin. BHoM is an entirely different paradigm.
      • To learn more, go to their website ant GitHub page but in summary, they are a group that promotes the interoperability between different programs.
    • While I don't really use all their components, I use their explode component a lot to inspect data
      • But if you know how to code, you can easily make your own or just extract out that one component without bringing the entire plugin into your Grasshopper.
  • Urbano
    • Urbano is designed to bring urban planning functionality to Grasshopper.
    • It's got a whole suite of components for walking analysis, trip scoring and more.
  • DeCodingSpaces Toolbox
    • This plugin let's you manipulate with GIS data in Grasshopper with ease.
    • It gives you the ability to transform WKT to WKT and to also search up the WKT by it's id
    • I mostly only use their GIS components but they do have other urban planning components similar to Urbano too.
  • Anemone
    • If you know how to code, this plugin is quite useful.
    • Anemone grants you the ability create loops in Grasshopper.
      • which comes in handy when you need to iterate Grasshopper operations.
  • jSwan
    • Provides you with components that let you break down JSON files into strings.
  • Slingshot!
    • Let's you interface with databases using Grasshopper
    • Even though it works well, you still have to know how to write raw SQL commands.
  • Goat
    • Let's you run more optimization methods in Grasshopper apart from using Galapagos.
    • I used it a lot to run the COBYLA local optimiser

2. Quality of Life (QoL) Plugins

These are plugins that can improve your Grasshopper scripting experience.

Here is my list of Quality of Life plugins. My two favourite ones are SnappingGecko and Script Parasite.

  • SnappingGecko
    • Let's you snap components to various elements on your canvas.
    • This allows you be more organised and takes the mess out of placing components on your canvas.
  • ScriptParasite
    • If you have ever used the script component on Grasshopper, you know that editing code on the Grasshopper editor is not the best.
    • Script parasite let's you code using your favourite IDE. What it does is sync up a file on your local computer with a script component in Grasshopper.
    • Apart from the better coding experience, you also unlock a lot of other benefits, like version control, auto complete and other IDE benefits
  • Telepathy
    • If you have handled big scripts before, it's a pain to connect one container to another one that sits on another location far away on the script.
    • This plugin makes it easy to transfer data using key interfaces.
  • Moonlight
    • This plugin brings "dark mode" to your Grasshopper canvas
    • While I am a big fan of dark mode, because Grasshopper isn't fully white, I have gotten used to the original colour scheme but I did use moonlight when for awhile.

3. Hybrid Plugins

There are then plugins that offer both benefits. Not only do they extend Grasshopper's capability, but they also offer you components that improve your scripting experience.

  • EleFront
    • Elefront is a plugin that aims to help you create Grasshopper and Rhino workflows.
    • It offers components that stream line reading and writing data to Rhino, so that you can exchange data between different Grassshopper scripts.
    • It is champions the idea of having a distributed model which is to break down a large complex task into smaller and more dedicated Rhino and Grasshopper files.
  • MetaHopper
    • This plugin gives you components to manipulate other Grasshopper components.
    • This additional functionality can help simplify the amount of controls in a Grasshopper script.
    • Like toggling on and off various Grasshopper components at once with a button.
  • LunchBox
    • A plugin that gives you a group of components that can help you create mathematical shapes, sort and manipulate data.
    • I use their "rebuild surface", "unroll Brep" and "Quad Frames" components a lot.
  • Pufferfish
    • This plugin provides a lot of custom geometry operations which is are useful
    • They also offer components that simplify some of Grasshopper's native geometry functions
    • I tend to use their tween, offset and point components a lot.

The Downside of Plugins

As you can tell by going through the list, plugins can be extremely helpful and they offer a new perspective into using Grasshopper. In fact, with some of the plugins that I use, I don't even scratch the surface of what they can do. But like most things, there are some drawbacks to using Grasshopper plugins that I wanted to highlight here.

1. Can make it hard to collaborate

Anyone that opens a Grasshopper script needs to have all the plugins that the script is using. This can make it quite challenging to share scripts around. One way around it is to share your list of plugins that you are using for the particular script but it can get quite cumbersome if there are a lot of plugins.

Another way around this, if you are in a team is to have a common plugin folder on a network drive which you can then reference or copy.

2. Can slow down Grasshopper

As you explore the world of Grasshopper plugins, you will no doubt accumulate a fair number of them. Depending on how many you have, this can seriously slow down the performance of both Grasshopper and the component search.

I make it a point to clean up my plugin list when I can. Currently, I have around 60+, which slows down Grasshopper but it is still usable.

3. Can be unstable

Because of the open sourced nature of plugins, there will be some that are unstable and cause Grasshopper/Rhino to crash. A good indication of stability can be the last version date and the amount of reviews there are on the plugin. The later the date and the more reviews it has, the more stable the plugin is likely to be.

A Note on Plugins

There are a lot of plugins out there and like most open-sourced things, the skill here is to identify the signal from the noise. I wanted to share my personal guideline on testing and using new/old plugins.

It starts with first identifying a problem your current Grasshopper configuration has. This could be a major inconvenience, a solution that you think requires fewer components, or extra functionality that you want.

Then I would go through Food4Rhino and Google to search for any plugins that fit. This sometimes can be quite hard because their names don't always reflect their function. Plugins like Elefront and Pufferfish don't advertise their functions in their names.

If you found some plugins that may fit your problem, I would install them and then set a calendar appointment for 1-2 months later to see if it was useful. Doing a review and potentially deleting the plugin is the key in this process.

Without the review period, I find that I will accumulate a lot of plugins and clutter up my Grasshopper performance.

Final Thoughts

This article is not meant to be a comprehensive list of all the plugins out there but rather an indication of what's out there, the plugins that I use and how I would go about using plugins.

Thanks for reading, Braden.