personal site of Attila Gasparetz
HIDDEN NODES IN NUKE
Nuke has been developed and extended for over 20 years now. During the two productive decades many new tools and features has been added and removed.
Many of the older tools was retired from the UI for a good reason like they were buggy ( still beta ) or an improved version took its place.
Altough, many of the old tools weren't removed completely from the package!
And some ( maybe just a few ) of them are actually still pretty cool and can be useful!
There are a few old tools that I've been regularly using still and I know of others who also do so.
But as I've been asking around didn't find a person who would know just how many dusty old tools are hidden in Nuke that we still have access to. I found 2 ( one, two ) very useful forum threads but reading them it was clear that there isn't a list of these misfit toys.
So decided to dig around on Nuke's attic and blow off the dust of as many retired nodes
as I could just found!
How can I create nodes that are hidden?
There are 3 ways to create nodes that are not visible in Nuke after launching it. ( So you can't find them on the left side Toolbar nor with the Tab search. )

- 1 -
You can create them without using a single line of code by clicking on
Toolbar / Other / All plugins / Update ( Foundry )

►►►

If you do so it opens subfolders in alphabetical order listing all the current and previous tools.
BEWARE! Once you loaded in all plugins you can't close the list unless you re-launch Nuke.
Also, these nodes will appear on your Tab search making finding the right node there more difficult sometimes. Luckily, you can spot them easily as the source of the node will
show up as a single latter:

Also, not everything you see on the list is a node you can still create, like all the format Read and Write nodes will produce a similar error message:

Btw if you are keen on using a coding approach here is the way to load in All plugins:
- 2 -
Using TCL with the X hotkey ( over the NodeGraph) to open Command entry mode.

By default this pop up window opens on TCL which is very useful for us to create nodes!
You only need to type in the Class of the node to create it. ( Make sure when you type you make the right letters capital as coding is case sensitive )

►►►

By default this pop up window opens on TCL which is very useful for us to create nodes!
You only need to type in the Class of the node to create it. ( Make sure when you type you make the right letters capital as coding is case sensitive )
By using a Class also means that you need to make sure you are calling the right version of the node as some has multiple versions, like in the case of a Tracker node you'll need to type Tracker4 if want to open a current one.

- 3 -
Using TCL in Command entry mode or in the Script Editor.
Generally, there are two ways to create nodes with python.
These codes can be run from various places such as the ScriptEditor, menu.py, Command entry,
Python Script Button ...
Congratulations! Now you know all 3 ways!

How I created this list?
I was using nodeTypes that gives a list of all the available nodes inside Nuke then narrowed down the list using starstwith. As didn't find a way to separate the hidden nodes with python that was a case by case manual comparison using a Tab search.
Also, the difference if the force_plugin_load is True or False are the Furnace tools and the Denoise.
When it's True it prints 538 items ( Classes ) as in v13.1 without any installed plugins.
The following list contains about 165 nodes that are hidden but still can be opened from this list.
The List
Many of the nodes on this list will be familar as I wanted to collect all the nodes that you can still open in Nuke but not part of the UI. Therefore, many of them merely just to show previous versions of the nodes you can use currently. Some may even be the same but with a different Class name.
I organized them in alphabetical order.
- A -
AddSTMap

There aren't many more straight-forward hidden treasueres than this one.
You can actually copy it as a Group and look inside. Just be aware that this node also creates
a new layer called "stmap" by default. On the node you can select where you want to copy the stmap though.

ApplyLUT

This node probably could tell a story of simpler times, when using a single LUT node was enough.

AttribGeo


Wasn't sure when this one would be useful. Only tested with a few things but one thing it is
good for: crashing Nuke with a following message in the terminal:

Axis ( Classes called as Axis , Axis2 , Axis3 ) About

We are currently using by its class Axis3. Both earlier versions are still can be conjured in Nuke.
The first one is easy to tell on the NodeGraph as it's only has a single input,
while the others has "look" too.
Otherwise, the biggest improvement was to way you can select files on the node:

- B -
BakedPointCloud

Not a crazy much can be found about this node. Only mentioning of it is from
an earlier blog post from Hagbarth.
BakedPointCloudMesh

Bezier

This is apparently a relic from the pre Roto/RotoPaint node era ( just as Paint at P ).
The Foundry mentiones that you can still add it to your Toolset for nostalgic reasons.
It might be strange for most "new" roto artist that this node handles a single bezier spline.


Bilateral ( Classes called as Bilateral , Bilateral2 ) About

The Bilateral node's biggest upgrade was to introduce GPU acceleration and the filteration options.
These are great upgrades although I am still finding the first version sutitable for most cases
when I need it. Tutorial.

Black

This is a peculiar node. There isn't anything you can set up on the node itself but the label.
Its fixed resolution is 640 * 480 and there aren't any pixel values to sample or grade.
BlockGPU


Blocky

This is a simple but still sometimes handy mosaic filter tool. Don't know why this got removed.
Also if anyone interested the node's source code is available in the v6.3 NDK documentation.

BumpMat

BurnIn

This is a classic that I still spot in people's templates sometimes. I also appreciate that you can still ungroup this node and look under the hood. Finding there a few cleverly written python code in Text nodes. This was also a tool that inspired to make Input_Info.



- C -
CCorrect

This feels like an earlier version of the well known ColorCorrect. Key differences are:
- It has a White and Midtone sliders which can be very handy!
- No Saturation slider
- Only the master has Contrast slider

CCrosstalk

I suppose it still can be useful for people who like to use a graph to grade their pictures.

C_Bilateral2_1

This seems an exact copy of the current Bilateral node but for some reasons lives under a
C_Bilateral2_1 Class name. Tutorial.
C_SphericalTransform2_1

This seems an exact copy of the current SphericalTransform node but for some reasons lives under a
C_SphericalTransform2_1 Class name.
Camera ( Classes called as Camera , Camera2 , Camera3 ) About

Similar case as with Axis above. We are currently using by its class Camera3. Both earlier versions are still can be conjured in Nuke.
The first one is easy to tell on the NodeGraph as it's only has a single input,
while the others has "look" too.
Otherwise, the biggest improvement was to way you can select files on the node:

CameraShake ( Classes called as CameraShake, CameraShake2 , CameraShake3 ) About

Similar case as with Axis above. We are currently using by its class CameraShake3. Both earlier versions are still can be conjured in Nuke.

CameraTracker

Not an older version but might worth mentioning that CameraTracker can
also be called by CameraTracker1_0
CameraTrackerPointCloud

Not an older version but might worth mentioning that CameraTrackerPointCloud can
also be called by CameraTrackerPointCloud1_0
Card ( Classes called as Card, Card2 ) About

Card has a small face lifting over time.
Change is that the deformad rows/columns slider got removed and other changes on the Deform tab.

CardObj

It is likely an earlier version of Card3D. It is a simple 2 nodes setup and it is interesting that you can still unGroup it and look under the hood.
Full list of Obj nodes: CardObj, CubeObj, CylinderObj, SphereObj

ChannelSelector

A same channel selection that you can also find on the Viewer panel just in a different order.

CheckerBoard ( Classes called as Checker , CheckerBoard , CheckerBoard2 ) About

Checker is likely first version of the current Checkerboard that unfortunately only works if there's an input added.
ColorTransferWrapper

Seems like a first version of the MatchGrade node. It only has a ROI box to select a color from
input A that is applied on input Bs image.
Compare

Looks like a Merge/Difference ( abs(A-B) ) method with some extras built in.
Convolve ( Classes called as Convolve , Convolve2 ) About

Biggest difference is that a GPU acceleration got added to Convolce which was very much needed
for one of the heaviest nodes in Nuke.

CubeObj

Same story as CardObj above. It is a Cube and TransformGeo in a Group.
Full list of Obj nodes: CardObj, CubeObj, CylinderObj, SphereObj
CylinderObj

Same story as CardObj above. It is a Cylinder and TransformGeo in a Group.
Full list of Obj nodes: CardObj, CubeObj, CylinderObj, SphereObj
- D -
DeInterlace

There aren't any controllers on this node and has a FieldSelector inside which is another hidden node,
with all that it very much feels like an unfinished node.

DeepChannelBlanker

DeepClip / DeepHoldout ( Classes called as DeepClip , DeepClipZ , DeepHoldout , DeepHoldout2 ) About

What a mess! Most people already prefer to use DeepMerge on holdout mode.
From these only DeepHoldout2 has the same controllers as the DeepMerge.
Logic failed here, Mr Spock!

DeepColorCorrect ( Classes called as DeepColorCorrect , DeepColorCorrect2 )

The update was to indtroduce a channel selector and a Deoverlap checkbox.
DeepCompare

DeepDeOverlap

DeepCrop About

This seems an exact copy of the current DeepCrop node but for some reasons lives under a
DeepMask Class name.
DeepMerge ( Classes called as DeepMerge , DeepMerge2 ) About

There are two changes here:
- The second version got a plus operation
- The compute occluded samples checkbox got replaced by a volumetric holdout checkbox
DeepOmit

DeepToImage ( Classes called as DeepToImage , DeepToImage2 ) About

Absolutely NO visible sign of an update here but we do have 2 verions of this node too.
DeepVolumeMaker

Denoise ( Classes called as Denoise , Denoise2 ) About

It is nice that we got GPU acceleration and the whole Profile tab but ... NeatVideo. Tutorial

DepthGenerator

This seems an exact copy of the current DepthGenerator node but for some reasons lives under a
DepthGenerator1_0 Class name.
DirBlur ( Classes called as DirBlur , DirBlurWrapper ) About

Ever noticed that when you are making a DirBlur with a tab search it creates a DirBlurWrapper?
Well, I'd been happy with DirBlur2 but it it is called DirBlurWrapper instead for some reasons.

DualBlend

Sooo this is a Dissolve node but with a mix slider??? Oookay

- E -
EdgeDetect ( Classes called as EdgeDetect , EdgeDetectWrapper ) About

Another eyebrow raising situation! So what's happening is:
1 We have an older node called EdgeDetectCore with a Class EdgeDetect
2 We have a new model called EdgeDetect with a Class EdgeDetectWrapper
Make sense! ( ...right? )


EdgeScatter

Errorlop

ExecuteTreeMT

Same python settings that are now part of the Write node.

- F -
FFT

FFT ( Fast Fourier Transform ) is a cool node but a bit heavy and also a bit sensitive to certain node combinations so can easily crash Nuke. It creates a visual representation of the frequencies of the image. In case you want to dig deeper how it works check here. And an interesting forum thread.
The result looks like this:

On it's own it isn't looking great. It's main use to be able to remove big scrathces and dust from old film if you'd need to work on such thing.
More fun these days to create some frequency effect. You also need to use another hidden node to make it work called InvFFT. Here's a quick setup of how that can look.


FFTMultiply

This node helped to create bokeh effect probably until Convolve and other quicker Defocus nodes arrived to the scene. If you want to try this method make sure you are using a same resolution on both inputs. There are some classic tools that are still using this technique like LensKernelFFT or Wiener Deconvolve.


F_DeGrain

It would probably rival Nuke's own Denoise node but still both falls short behind NeatVideo.
There is also a 2 part tutorial still available on this ( part 1 , part 2 )
FurnaceCore tools that are available and aren't are listed here.
F_MatchGrade

This node is still has an old official video tutorial available but in a poor quality.
F_MotionBlur

This node is still has an old official video tutorial available.
F_VectorGenerator

This node is still has an old official video tutorial available.
F_Kronos

This node is still has an old official 2 part tutorials ( part 1 , part 2 ) available but in a poor quality.
FieldSelect

Fill

Looks like an older version of a Constant node that needed an input for the resolution.

FishEye

It's a Camera alternative that has a few things not working but still can be interesting.


FloodFill

It's an interesting tool that can be useful to extend keyed alphas.
( Also not to be confused with Hendrik Proosa's Flood Fill )
Fog

- G -
GPUFileShader

Here's a snippet from the Nuke5.2v1 Release notes:
Currently, the ViewerLUT (1D LUT), Vectorfield (3D LUT), ViewerGain, ViewerGamma, Viewer-
LUT, ViewerDither, and ViewerChannelSelector nodes are shipped with a GPU implementation.
There are also other two examples that you can use to develop your own nodes: GPUFileShader and GPUKuwahara. These are in the NDK with source code. GPUFileShader takes a file and
applies the shader described in it.
Also appears as an example code for NDK developers here.
GPUOp

GenerateLUTGeo

Gizmo

Seems like a generic Gizmo node.
If you try to hit Copy to group an error message pops up: Constructor for Gizmo failed
Glow ( Classes called as Glow , Glow2 ) About

I really tried but the only difference I found is a capital to small letter difference...

Grain ( Classes called as Grain , Gain2 ) About

It's useful that you can peek under the hood of the new Grain node and found out that it's mostly
Noise nodes. Tutorial

GridWarp ( Classes called as GridWarp, GridWarp2 , GridWarp3 ) About

There is a lot of changes happened between the versions here that are visible:

- I -
IBK Gizmo ( Classes called as IBK , IBK2Gizmo , IBKGizmo , IBKGizmoV3 ) About

That's a fair amount of mess around the IBK nodes so let's start with the IBK Gizmo.
The IBK is the node you can find in the rest of the IBK Gizmos.
Also, it really worth to find out more about the story of this otherwise super useful node here.
IBK Color ( Classes called as IBKColor , IBKSFill , IBKColorV3 ) About

These nodes are also using an IBK node when you look under the hood.
Also, it's a great Sherlock Holmes mystery what could have happened to IBKColorV2...
( or why it's might be called IBKSFill? )

IBKSplit

It's an oddly simple assembly of Merge nodes inside this Group without any controller on the node,
so you can only ungroup this suspiciously unfinished looking node to find this:

IT8 ( Classes called as IT8_Reader, IT8_Writer )

Inpaint ( Classes called as Inpaint , Inpaint2 ) About

The Inpaint node's biggest upgrade was to introduce GPU acceleration and also almost the whole
list of user knobs got an update. Tutorial
InvFFT

This node is a pair of FFT of which you can find more about at the FFT above.
- L -
LensDistortion ( Classes called as LensDistortion , LensDistortion1_0 , LensDistortion2 ) About

The first two nodes here are basically the same under different names.
There was a lot of updates between the 2 versions here just as mentioning a few it got GPU acceleration and it also works with CaraVR nodes.

Light ( Classes called as Light , Light2 , Light3 ) About

Similar case as with Axis above. We are currently using by its class Light3
The first one is easy to tell on the NodeGraph as it's only has a single input, while the others
has "look" too. The first version's name is Point and the different types got introduced later.
Otherwise, the biggest improvement was to way you can select files on the node. Tutorial

- M -
MakeLatLongMap

Oddly feels like another unfinished tool where many of the user knobs aren't having much effect on the output. Like, to change the output format you can change the root format but not by using the options provided on the node.
Merge ( Classes called as Merge , Merge2 ) About

Merge is an essential part of our compositing toolset and it great that it got a more organized arrangement if user knobs on the second version. Other than the order of knobs the biggest change is the removal of the swap A & B knob which is probably a version since we have the shift + x shortcut instead. Merge Operations

MeshGeo

Not sure what was a purpose with this node really. When an image connected it puts it on a Card but you can't do any Transformation on it. Only thing you can change is the orientation that is remotely useful.

MindRead

I LOVE this node! Not because it does anything but I'm glad that the developers dared to show a sense of humor! And GOSH I wasn't on any shows where at some point we were all wishing that this node was actually working! :D
Thank to Alan Precourt's comment we got a little more insight on this node:
"Mind Read was actually a Digital Domain plugin, created during a painful production which shall remain nameless. :)"

Mirror ( Classes called as Mirror , Mirror2 ) About

Speaking of Foundry's sense of humor I'm glad that the Mirror got a flip flop. Looking much better!
What a stylish update!

ModelBuilder ( Classes called as Modeler , Modeler1_0 , ModelBuilderGeo , ModelBuilder ) About

If you are using the Source input of the first two nodes on this list it will crash your Nuke instantly!
The third ( ModelBuilderGeo ) doesn't seem to do much. Tutorial
MultiTexture

Just as PSDMerge this node isn't technically hidden but you won't find it on the toolbar. It is added to the script when you are using UDIM Import to adjust textures on CG.
This node doesn't have any controller as it's main purpose was to optimize when you need to use multiple MergeMat nodes. Can find out more about it here. But just to quote the relevant part:
" Note: The MultiTexture node at the end of the tree optimizes rendering when multiple MergeMat nodes are chained together. It uses the default Iop vertex shader and only handles multi-texturing. This node has no fields or knobs and is intended for use only with the UDIM Import operation. "

- N -
NoProxy

NodeWrapper

This node seems like a Keymix without a mask input.

- O -
OFX ( Classes called as OFXuk.co.thefoundry.furnace.f_degrain_v403 ,
OFXuk.co.thefoundry.furnace.f_kronos_v403 ,
OFXuk.co.thefoundry.furnace.f_motionblur_v403 ,
OFXuk.co.thefoundry.furnace.f_vectorgenerator_v403 )

These nodes are the same ones that you can fund above at F but under different Class names.
Also for those dealing with many Furnace tools here are two recent python functions that
migh came in handy: ofxRemovePluginAliasExclusion and ofxAddPluginAliasExclusion
Denoise ( Classe called as OFXuk.co.thefoundry.noisetools.denoise_v100 )

This is a same older version of the current Denoise node that is mentioned above at D but under a
different Class name.
Oflow ( Classes called as OFXuk.co.thefoundry.time.oflow_v100 , Oflow2 ) About

It's really good that the new Oflow got GPU acceleration and Input Range plus a few other useful settings with a more useful arrangement of user knobs. Tutorial

OpStatisticsOp

- P -
Paint

This is apparently a relic from the pre Roto/RotoPaint node era ( just as Bezier at B ).
The Foundry mentiones that you can add it to your Toolbar it for nostalgic reasons.
Otherwise, some still find this version useful and if interested here's a way to set up for yourself.

PSDMerge

I admit that PSDMerge isn't fitting this list 100% as it isn't really a hidden node. It takes a PSD file and to click on the Read node's Breakout Layers button to conjure it manually but it is not visible in the Toolbar or the Tab search.

Also a good and bad news about this node. The good is that it is one of the handful of nodes that you can unGroup and look under the hood to see how the different Photoshop operations work using MergeExpressions. The bad is that if you ever had to debug scripts you know that it is often the Viewer where it's worth to start and for some reasons this Group has a Viewer in it.
Also, this Group is using Colorspace node which on most current shows probably need to be replaced with OCIOColorspace node to work properly.

ParticleBlinkScriptRender
