Is there any way in Blender to save settings in your compositing node setup. For example say for my shadow catcher I have it setup for a hard shadow for sunlight, and then I also have a setting for diffuse light shadow for indoors. Is there any way I can save these settings individually so I can quickly switch to them rather than having to individually change the nodes every time.
Yes, you can use node groups.
Creating node groups
You can create a node group by selecting the nodes you want to save and then pressing ⎈ CtrlG:
After you create a group, you'll end up inside the group, where you can edit it. Toggle in and out of the last selected group by pressing ↹ Tab.
While inside the group, you can edit the node tree and define what the inputs and outputs should be (if any) by connecting the special Group Input and Group Output nodes:
Now you have a reusable custom node.
For more control over the inputs and outputs, you can add1, remove2, rename3, reorder4, and change default values5 of inputs in the Properties panel (N) while inside the group (↹ Tab):
For value inputs (gray sockets for scalars, purple sockets for vectors) you can also define Min and Max values.
Note that node groups can contain other node groups, in which case navigating between between these with just ↹ Tab can sometimes be confusing. You can always go up and out of the current node group by pressing the up button in the header (think of the node editor like a file browser and node groups like directories):
To ungroup a node, press ⎇ AltG with the group node selected (outside of the node group)
Saving and reusing node groups
To see how you can save these in a library blendfile (or even your startup.blend) and import them into whatever project you need, see
Yes, they are called node groups. They aren't exactly like the presets you'll find in other software, but they're close.
What is a node group?
A node group is a bit like a custom node. How if behaves is defined by the nodes inside of it, and the interface. It works by taking inputs from outside the node group, making your calculations with nodes, and then outputting them.
Lets make a simple node group
The best way to understand how node groups work, is to make one, so let's make a vignette node group.
Usually a vignette node setup looks something like this (although different people have different ways of doing it)
Now let's select those node, and press CTRLG
Blender then creates a node group, and goes into the group editing mode.
In here, you'll notice that we have the old nodes that where selected, but now we have two more nodes. There is the group input node, and the group output node. These act as the interface between the two node tree's (the normal outside one, and the node group).
To leave the node group editing, just press TAB.
Once you leave node editing, you'll see a new node in place of the old ones. This node acts as the interface for the normal node tree, just like the input and output nodes act as the interface when inside the group node editing.
You can of coarse change the name of the node group using the text box.
Node group interfaces are how the two node tree's can interact. When building a node group, a lot of the time the sockets that are added by default for you, aren't enough. For example, we probably want an amount socket on out node group, to control the amount of the vignette.
To do this, in node editing mode, drag the a string off of the factor input of the multiply node, and drag it into transparent socket of the input node.
This adds a new socket to our interface.
The socket can be controlled even more using the interface settings which are found in the N properties panel.
Those values are pretty self explanatory. The name is the name of the socket, the default value is the value that it will start out with when you add the node group, and min and max are the minimum and maximum values of that socket.
Using node groups
To use a node group, press SHIFTA go to node group, and find the node group you want to use. This works well enough, but what if you want to use one that's not already in the .blend file?
There are a few ways this can be taken care of.
First, the node group can be saved into the default .blend file. Simply build the node group in your default scene, then use the fake user button to save it, and then save your default scene.
You can find a bit more information about saving to the startup file in this answer.
While this won't make a difference for existing .blend files, new ones will always have your custom node group in them.
Node groups can also be appended/linked into a .blend.
To do this, press link or append in the file menu, and navigate to the .blend file you want to use. When you click on the file, you'll see a few more options. These are the different datablocks that can be imported into your scene. Select node tree, and then find your node group, and import it.
Try this blender add-on, which can save your nodes as preset, and restore to any object at any time.