7
$\begingroup$

I have a bunch of "shading tab" and "Geometry nodes" node groups made to do repetitive jobs like applying random selected materials to a mesh based on the place of some empty objects.

I wanna be able to easily use all these node groups in different projects with easy access.

My node groups are now messy. If I want a node group, I have to find it in some folders, open the blend file, find the node group and copy paste it. That is not cool I wish there was a way to make an asset library of all of them, preferably with a thumbnail image.

$\endgroup$
1
  • 2
    $\begingroup$ The asset browser is still under development so I don't think they can be used in 3.0 although from a November Blender Devtalk posting you may be able to enable them as an experimental option. You can save them in your startup file though for later use. See this YT video. $\endgroup$
    – John Eason
    Commented Jan 9, 2022 at 9:22

3 Answers 3

8
$\begingroup$

Blender's 3.0 Asset Browser can partially solve this problem because you can assign your node groups to materials, one material per interesting node group; but this won't work for Geometry Nodes (yet). It also won't work for earlier versions of Blender.

Here's my pre-3.0 technique for node groups:

  1. Create a single Blend file
  2. Put a single material in the Blend file.
  3. Add each node group into that Blend file. Tip: Name your nodegroups so they are easy to find.
  4. Make sure that you set Fake User for the material so that it isn't removed when Blender closes the file.
  5. Save the blend file.

Now, when you want to use your node groups you only have one file to look at. You can either Link or Append the material to your current file by going to the File Menu, selecting link or append and opening the saved node group file. Navigate to materials and select the material:

Appending the node group collection.

Now all of your Node groups will appear in the Add menu:

Node groups in the add menu

This approach has two obvious problems: There are no automatically generated thumbnails to tell you what a given node group does. The list can grow very large.

You can subdivide the groups and add them to different materials in the library file but they all end up in the same add menu.

It's not great, but it's better than searching through many files.

$\endgroup$
7
$\begingroup$

This is the current solution for Blender 3.2+.

You have two different ways to manage your node groups and make them reusable in Blender:

Both do something similar: they make previously created objects available to you for reuse.

Node Presets

Node Presets are based on the similarly named add-on that comes with Blender.

Your nodes are stored in a separate file in a specific path, and you can access them in other projects.

This variant it optimal if you don't have any special nodes that can be called "Assets", but rather recurring generic nodes.

enter image description here

The main difference to the Asset Browser is, that these nodes are available directly in the context menu of the Node Editor:

enter image description here

This is especially convenient if you often want to use individual nodes and need quick access to them.

But be sure to note the following: The names of the node groups must NOT start with underscore. These nodes will be ignored.

There is, however, the following to consider here:

For technical reasons, this mechanism (just like the Asset Browser, by the way) cannot distinguish between different node types.

This has been discussed here before: How do I find out the node type?.

That's why the context menu in the shader also lists Geometry Nodes and vice versa. This can be annoying if you have created many individual nodes in both areas.

The only workaround is currently found here: How can I use custom node groups as node templates/presets?.

This contains a small modification of the existing add-on, where instead of using one path for all nodes, multiple paths are used for different node types. In addition, this add-on mod also fixes a bug so that it can be used in Blender 3.1.

enter image description here

Attention: Changing the nodes here requires a restart of Blender!

Asset Browser

Basically you can use all objects with the Assets Browser, not only nodes.

The basic principle is that you collect your nodes in a separate file, and define the path to it in your settings.

To do this, follow these steps:

  1. First, make sure that you have created a library in Preferences > File Paths > Asset Libraries, and that the specified path exists.

    enter image description here

  2. Then switch the Display Mode in the Outliner from View Layer to Blender File. There you will see all objects that are present in the current file.

    enter image description here

  3. In the object group Node Groups you can now find your node (also Geometry Nodes etc.). Click with the right mouse button on the entry and select the option "Mark as Asset".

    enter image description here

    The node you marked as an asset will now appear in the Asset Browser.

    enter image description here

  4. To make this node available in the Asset Browser in other projects, save this blend file in the path you specified before.

    In my example I used C:\Users\quellenform\Documents\Blender\Assets\ and named the library "User Library".

  5. If you now change the entry "Current File" to "User Library" in the Asset Browser, your asset will appear there. You can now simply drag and drop it into your node trees.

    enter image description here

$\endgroup$
3
  • $\begingroup$ Any idea how to make this so it's linked? I think when you add a node tree asset it makes a COPY of the node tree - if I fix a bug in the original asset file node tree - the bug fix won't propagate to the consumer project? $\endgroup$
    – stackzz
    Commented Dec 11, 2022 at 8:20
  • $\begingroup$ @stackzz I'm afraid that's not possible. At least I don't know of any way. Maybe a Python script helps to replace/update node groups. ..? $\endgroup$
    – quellenform
    Commented Dec 11, 2022 at 9:40
  • 1
    $\begingroup$ I found a way in blender 3.4 (not sure about previous versions) - if you open the asset browser view on the top of the area to the right of the menu there is a dropdown box with options "link, append, append (reuse data)" - if you select link option before you import an asset the data is linked and any changes in the source file will propagate into the consumer file. If you save the consumer file and reopen it from the console you can see info messages from consumer file console reading the source libraries each time on file open. $\endgroup$
    – stackzz
    Commented Dec 12, 2022 at 17:24
6
$\begingroup$

Here's a short answer for Blender 3.3 (very loosely based on what @quellenform wrote):

Right-click on the group name field in the nodes editor - then you'll get the "Mark as Asset" option. The little shield will then change to a blue asset icon. Save the file in you Asset Library as any other asset file. That's it.

enter image description here

$\endgroup$
3
  • 1
    $\begingroup$ Hello ! Thank you for your answer. However I don't really see the difference with quellenform's answer ? $\endgroup$
    – Gorgious
    Commented Nov 23, 2022 at 13:22
  • $\begingroup$ It's just a quicker way to do the same thing. $\endgroup$
    – mik01aj
    Commented Nov 24, 2022 at 18:10
  • $\begingroup$ oh okay gotcha. $\endgroup$
    – Gorgious
    Commented Nov 24, 2022 at 21:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .