At the beginning of the year, we held the Dynamo Extensions Workshop in London. Since then many of you have been hard at work testing out this powerful development tool that allows developers to change the entire Dynamo environment. From searching the canvas for placed nodes to adding physics simulation, the community has been having a blast extending Dynamo!
Recent customer examples
Favorite nodes extension from @MarkThorley1 of designtech.io |
Align tool extension from @60secondrevit of Parallax Team |
One of the most important aspects of Dynamo is the community. Sharing ideas, knowledge, graphs, and source code help it strengthen and grow. One of the things that makes Dynamo Extension development difficult is that there is no clear path to distribute and share your work.
Until today…
Today, we are happy to announce that we are now supporting Extensions in the Package Manager in Dynamo 2.0. You will no longer have to figure out a way to share your code or build an installer, you can just upload your extension like any other package. But, there are just a few extra steps you will need to do:
- Create a Package as normal
- Include the Extension Manifest XML in “extra” folder
- Make sure the path inside the XML to your DLL is relative like: “..\bin\MyExtension.dll”
- Include any dependencies of your extension including the extension binary (as usual don’t include dynamo core dlls)
- Make sure that your Extension DLL is NOT marked as a “node_library” (You can do this from ‘Publish a Dynamo Package’ dialog. Just right click over the dll and uncheck ‘Is Node Library’. See image below)
- Publish your package
Here are some hints for success:
- Make sure to test your package locally before deploying to Package Manager. You can do that by choosing the ‘Publish Locally’ option in the ‘Publish a Dynamo Package’ dialog.
- When you ‘Publish Locally’, also make sure you have removed any Extension Manifest XML files you used during development that may be in folders like \Program Files\Dynamo\Dynamo Core\2\viewExtensions or \Program Files\Dynamo\Dynamo Core\2\extensions so you can test if your extension is correctly loading from the package
- Make sure that the Extensions Manifest XML has the correct relative path. Failing to do so may cause a crash.
- When you first publish your extension, the extension will not load. You will need to restart Dynamo.
For a working example, check out DynamoTeam‘s latest package called ‘Sample View Extension’ (which is 2.0 compatible) on the Package Manager which will create a dialog showing all the active nodes. You can launch the the dialog by going to the top menu and clicking on View > Show View Extension Sample Window. You can view the code for this View Extension here: https://github.com/DynamoDS/DynamoSamples.
That’s it! We can’t wait to try out all your new extensions!