top of page


In this first part I would like to show the user knobs 

that you can create manually in Nuke.

The second part will list the knobs that you can

create using Python.

Why do you need this?

Getting familiar with the avilable building blocks of Nuke helps you 

to build dynamic templates, gizmos and to troubleshoot existing ones.

So it can help you to make tools more user friendly and projects more ogranized.

I decided to make this tutorial because currently the best page I found that

helped me to find the user knobs I needed is the

Foundry's NDK documentation which is somewhat

useful but many of them only avilable in NDK development

and to be fair some of them aren't as useful as it may seem.

But more on that in the second part.

Let's focus on the good part which is that you can create many user knobs

without using a single line of code too in 2 different ways!

How to add knobs manually using the

'Manage User Knobs...' option?

Before diving into all the avilable user knobs let's learn

how to create them! Despite showing a step by step guide here

If you want to dive into a matter deeper here's

the Foundry's doc.


You can right click on any node and select the 

'Manage User Knobs...' option. ( I show it on a NoOp to keep it simple )


It will bring up a new window and on the right side you will

have an 'Add' dropdown menu which brings up a list of 

knob types that you can add to your node.


Let's select the 'Floating Point Slider' - it will open up a new window.

You need to fill the 'Name' and the 'Label'. The 'Name' is what you will need to call the knob 

if you want to refer to it in an expression or in python. The 'Label' is what appears on the node itself.

It is recommended to keep these simple and similar to each other.

You can also include a 'Tooltip' which is a text that show up when you hoover your mouse over a certain knob and appears in a yellow textbox under the 'Name'.


Let's be very creative and call it 'slider' with a name appearing on the node 'Slider'.


After hitting 'Ok' you have a new knob added to your node

on the 'User' tab. Now you can select and 'Edit' the new additions.

If this is a first knob you add manually to your node it automatically creates a new User tab for it.

You can change its Label if you'd like.

How to add knobs manually using the

'enable knob editing' option?

Luckily there is also a new / quicker way to add knobs

since Nuke v11 introduced this feature.


You can click on the little pencil icon on the Properties bin to enable knob editing. ( or Ctrl+Alt+E)


When it's enabled it'll turn yellow and new icons appear next to it 

that are representing the avilable knob types.


Let's start with drag & drop-ing the first item on the list which is the Floating Point Slider ( it shows 'double' on the label here first because technically the knob's name is Double_Knob which will be important in the second part of the tutorial )


Here's our 'double' knob


Let's see how it looks when we add all of them!


There are 3 icons also next to the label of the knob:

With the yellow dot you can open the Edit window.

With the eye icon you can Hide the knob.

With the X you can delete.


With the edit mode on you can also select and drag the knob to a different position.

List of knobs you can create manually


Floating Point Slider or double

( in Py: #7 Double_Knob )


2d Position Knob or position_2d

( in Py: #12 XY_Knob )


3d Position Knob or position_3d

( in Py: #13 XYZ_Knob )


Width/Heigh Knob or size_wh

( in Py: #14 WH_Knob )


Bounding Box Knob or bbox

( in Py: #15 BBox_Knob )


Size Knob or size

( in Py: not available )

Floating Point Slider is recommended to be used instead.


UV Coordinate Knob or uv

( in Py: #30 UV_knob )


Integer Knob or integer

( in Py: #3 Int_Knob )


RGB Color Knob or color_rgb

( in Py: #18 Color_Knob )


RGBA Color Knob or color_rgba

( in Py: #18 AColor_Knob )


Check box or boolean

( in Py: #6 Boolean_Knob )


TCL Script Button or tcl_button

( in Py: #32 Script_Knob )


Python Script Button or python_button

( in Py: #22 PyScript_Knob )


Pulldown Choice or pulldown

( in Py: #4 Enumeration_Knob )


Cascading Pulldown Choice or cascading_pulldown

( in Py: #68 CascadingEnumeration_Knob )


Command Menu or menu

( in Py: #35_Pulldown_Knob )

If you create with the 'edit user knob' approach it comes

with a pre-written command.


Text Input Knob or string

( in Py: #1 String_Knob )


Filename or filename

( in Py: #2 File_Knob )


Tab or tab

( in Py: #20 Tab_Knob )


Group or group

( in Py: #57 BeginTabGroup_Knob / EndTabGroup_Knob )

This knob contains 2 parts, the 'group' and the 'endGroup'. If you use the 'Manage User Knobs' window you need to put the knobs that you'd like a Group to contain by moving them Up and Down with the buttons on the side.


Text or text

( in Py: #26 Text_Knob )

The text you add to the 'Text:' dialog box will be featured on the node.

If the dialog box is empty it'll show a divider line.


Divider Line

( in Py: #26 Text_Knob )

Basically, this is a Text knob with an empty label.


Obsolete Knob

( in Py: #0 Obsolete_Knob )

It is a shell knob that can be connected with other functions made within NDK environment.

It has no UI therefore by unticking the 'Hide' will crash your Nuke.

For in depth on how to use it check here.


Hope you will find it useful! 

bottom of page