Custom NodeModel Node Category Icon Dynamo 2.x

Hi all,

Maybe I didn’t query the forum properly, but just in case I actually did, I will ask the question anyway.

How do you change the icon of a NodeCategory? I have my packages nested under a specific custom category. At the moment it seems to be picking up one of the icons from the latest nodes added and using it as the icon for the category. What is the proper way to override this behaviour.

Please note that my Project name does not include the category as the Namespace but I am defining it explicitly using the Node category attribute i.e [NodeCategory("MyCategory.MyNstedPackage")]

Many thanks in advance,

Hi @erfajo,

Thanks for the prompt reply. I don’t think this wiki page covers what I am asking for. Would you care to elaborate if you have more experience on the matter.

What I’m aiming for is to control the NodeCategory icon.

Hope this makes sense.


Hi @erfajo,

Cheer for this. I went through this page previously. I believe the answer lies somewhere between these lines.

Can please confirm if your namespace is Orchad and then you have the nested packages underneath. Lets say Orchad.Applications.

Because in my case the namespace is Something and the category is something I define only in the CN attributes.

Also can you please confirm the name of your “default” icon. Just in case I am missing something in the naming.

Many thanks for all the help


Hi again.

Thanks once more for the prompt reply.

Nope… This does not cut it. I’m pretty confident that I can read, understand and use instructions.
I am not using the GUIDs to name my individual node resources as the article states, but I am using the Namespace.Class.Large.png and Namespace.Class.Small.png template and they work fine.

Even if I remove all my resources leave only the DefaultCustomNode.Large.png and DefaultCustomNode.Small resources, and debug the catefory icon still doesn’t appear.

My guess is that it has to do with my assembly naming. As I mentioned previously the name of the category where these custom nodes are nested is not part of the assembly name or a corresponding namespace.
Also it includes special characters. :slight_smile:

Also I have notice that on the article you’ve embedded the customisation.dll is created before build whereas on this one is created after build.

Any other ideas from the Dynamo Team @Michael_Kirschner2 @Racel


Hi @erfajo,

I think I will just try to troubleshoot this on a simple template project as a separate exercise and will post any findings here.

Thanks for the help. I will wait to see whether the rest of the crew has something to add.



I’ve found a workaround to this. I’m not sure whether this is the correct way to do it, but it seems to be working on @erfajo’s library as well, (judging from his previous snapshot)

So, apparently the category picks up the icon from the first class in the library. See attached.
This is something that works for me at the moment, but I am eager to find out the proper way of doing this.



I didn’t explain it properly.
It picks up the icon of the first in alphabetical order node/class visible to if I were to rename the first node to “What” instead of “About” it would pick up the icon from the ColorCompare node.

Thanks for all the help regardless, the snapshot of your library gave me the idea for the workaround.


I experienced the same issue. Also did the workaround and that works, but it would be better if there is a good way to set the icon for ZT packages.

Any ideas anyone?

Thanks for pointing this thread out @erfajo.

It basically confirms that the “About” node workaround is still the most credible solution.


1 Like