Dragging components from the Grasshopper 1 tool panels onto the Grasshopper 2 canvas should instantiate those components.
Input and output parameters should have the correct type (i.e. integer, point, vector, curve, etc.) if that type is common to both GH1 and GH2.
Uncommon types should result in a Generic parameter.
Predefined input values should be available in Grasshopper 2.
Any normal component ought to work, whether it’s standard or whether it comes from a plug-in.
What doesn’t work:
Objects other than components. That is, free floating parameters, sliders, panels and the like.
Clusters and scripts. These will all revert to their default state, which is empty. So although you can instantiate them, they are entirely useless.
User-objects. These, too, revert to their default, pre-user-modified state.
Errors and warnings disappear, they are not transferred back to GH2.
Variable input and outputs. You cannot add or remove inputs or outputs in GH2, even if the GH1 component supports that.
Unknown data-types sort of work and sort of don’t. They will appear in GH2, and can be used to feed into other interop components, but GH2 will be at a loss about how to deal with them. It won’t be able to preview them, format them in tooltips, display them in panels, save them in files, store them in undo-records, etc.
Abnormal components will probably not work as expected. Also, any component which must run on the application UI-thread will almost certainly cause a crash.
I tested with a self-made plugin, which uses data types outside of those of Grasshopper. Works just fine and I get the results I expect. Here’s a screenshot of the interoperability of GH1 and GH2:
Only the non-vector icon graphics reveal the GH1 components. This is beyond awesome!
However, I noticed that a lot of the 3rd party plugins didn’t work. For example these seem to work:
ARMy Ant
Megarachne
Cardinal LCA
Kangaroo 2
BUT none of these seem to work:
Weaverbird
Wombat
Lunchbox
Human
Heteroptera
the list goes on…
What could be the underlying reason? It appears that there is some defining factor in these that either allow them to work or not.
I also had one problem however with updating Rhino WIP. When I checked the update status of the version I installed last week, it showed that it is downloading the latest update and all good. But that didn’t mean that it actually was up-to-date. I had to manually download the latest version from Rhino website. Is this intended behaviour or should the WIP install the latest build automatically?
That’s beyond my pay grade I’m afraid. It should install the latest version in a sane world, but maybe it doesn’t do it as soon as possible to avoid a rush??
I’m not actually familiar with most of these, it’ll require some investigation. Somewhat surprised at weaverbird though, I thought it was a bunch of mesh tools.
Looks like a neat feature to ease the transition ! @DavidRutten, it doesn’t seem to work on macOS though, would you have any workaround ? I tried to copy/paste between GH1 and GH2, but it doesn’t work either…
Yeah Wim, that was it I thought I have up to date version as I checked “Check for updates” and there was green mark with “The Rhino is up to date”, but after I reinstalled it with version from 05.04 everything works. Thank you
Don’t know how long McNeel would continue to support GH1 and the lifecycle of Rhino 7. Guess i don’t need to write a compatibility tool to convert from GH2 to GH1.
Should there be a standlone dialog to check long license text?
Is it recommended for plugin & components to share GUIDs between GH1 & GH2 version, say you would have a converter in the future?
Ok, inspired by @TuomasLehtonen I actually checked some components and it seems to work for Megarachne for me as well it might be the fact that it doesn’t have any dependencies. Obviously I would be more sure if everything works fine if I could just drag and drop whole definition with tests, not a single component one by one, but I understand the reasons why it’s not there anyway that looks promising!