The Interactive & Immersive HQ

TouchDesigner Operators Explained

TouchDesigner Tutorial 7: Operators Explained

Join The HQ PRO 7-Day Free Trial!

Join The Interactive & Immersive HQ PRO and get over 200 hours of TouchDesigner training, 100+ custom-built tools and project files, and access to a private community where Matthew Ragan and Elburz Sorkhabi answer your questions daily.

Now that we’re about halfway through our beginner series, let’s start going a bit deeper on each of the different types of operators.

Remember, operators is the word we use for individual nodes inside of TouchDesigner, and there are six different families of operators in TouchDesigner.


The first thing that you’ll want to learn about is the TOPs, which is short for texture operators. TOPs are some of the default ones that we have, and they’re the blueish-purple coloured ones.

What do TOPs do?

TOPs work exclusively with textures. So, whether that’s images and movies, 2D drawings, getting video inputs and outputs from different kinds of hardware, all of these fall within the family of TOPs.


The next family of operators that are very important are called CHOPs (channel operators). Channel operators are focused on different kinds of signals, communication, numeric data, and control data.

What do we use CHOPs for?

We can use CHOPs to do things like make LFOs or any type of control data, whether that’s MIDI OSC coming in from other applications, or creating user interfaces with buttons and triggers. Even though the actual user interface element is coming from a different family, the control signal that it generates is going to be a CHOP. 


The next important family of operators are called DATs (data operators). These are the pinky purple colour family of operators.

Why are DATs important?

The first reason is that they handle all of our string level of data, and where we can keep texts, tables, and Python scripting.

You’re going to use DATs a lot in TouchDesigner; if you start talking to web APIs and doing things like using HTTP requests to get information from an API, then all of that is going to be handled in DATs.


The next family of operators is probably one of the more unique ones to TouchDesigner, which is SOPs, or surface operators, which are the light blue operators.

What are SOPs used for?

These are all of the operators that are focused on 3D geometry, and more specifically, procedural 3D geometry.

If you come from a Houdini background then you probably know that Houdini has laid the groundwork for what procedural 3D is, how it could work, and the power of it, and TouchDesigner builds on that in a real time sense.

SOPs are all operators focused on 3D geometry, working on 3D geometry, and working on surfaces (which is just another term for a 3D surface).


Another very important family of operators are the COMPs (component operators). COMPs serve a bunch of different functions, so it’s important that we cover each one.

Subcategories of COMPs

What you can see when you come to the COMP page, is you already have them organized in three different columns:

In all of our other operator families, it’s just an alphabetized giant list of operators. But for COMPs, we have them subdivided even further.


One of the really important ones that you’ll start using even as a beginner are Panels (the middle column), which are basically UI elements. Anything that the user might interact with, whether it’s in a user interface or you’re making it for your own control interface, the panel components of the COMPs are where you want to be looking.

Panels also have something called container. Container is an interesting one because it serves two functions. The first is it can hold and group different elements of our user interfaces, and it can also hold other operators, so these are the operators that we can go inside of. You’re probably exclusively going to be using containers when you want to organize the different parts of your network.

3D Objects

Another aspect of components are the 3D Objects (the left column), and even though we said SOPs are where you do all your 3D work, the component operators handle the rendering side of our 3D operators.

They’re not like SOPs where you can plug a sphere into a thing and then have it do some stuff. Once you’re done your whole chain of SOPs, you’re going to need something like a camera or a light. 

These types of elements that make up a 3D scene are contained within this 3D objects area of the COMPs.

Other: Window COMP

There’s one more really important uses of COMPs: the Window COMP (which is under the “Other” column on the right). This is how you take your final product and assign it as a big window that can cover your screen or projector or LED wall. How you get from your final content to that display is going to be using a Window COMP.


The final group of operators are MATs, which are material operators, and you’ll see that there’s not that many of them.

What are MATs for?

MATs are really just for processing and working on the materials that are then going to be applied to your 3D geometries when they get rendered.

A lot of the time you’ll just be importing textures or using different videos or content that you’re generating as a texture, or other different materials like the constant material or a phong material.

If you’re coming from a 3D background, you’re probably familiar with PBRs and substance designer, and all these different kinds of materials are available inside of TouchDesigner.


All of the operators have viewers. In TouchDesigner, we can see all of the elements of the process happening, but you can also interact with all these viewers in different ways.

We learned in our previous lessons that if you left click and drag on an operator, you can drag that whole operator around. 

But if you use your mouse to left click on a viewer (by left clicking on the plus button in the bottom right corner of the operator), you’ll see that all of a sudden left clicking and dragging doesn’t move the operator because now you’re interacting with the content inside.

It’s important to know that you’re interacting with the content inside of it only in the capacity of viewing. So, if you’re moving it around or zooming in, that’s not affecting the output, it’s only affecting the viewer that you’re looking at.

Wrap Up

A good way to think about all these point data, positions, and colours, is that these things in their simplest form are just data and then our operator families visualize that data differently.

So that should give you a good foundation of operators, what the different families do, and the basics of interacting with them.

Up next, we talk about parameters!

About The Author
Elburz Sorkhabi

Elburz Sorkhabi

I possess a deep knowledge in many professional fields from creative arts, technology development, to business strategy, having created solutions for Google, IBM, Armani, and more. I'm the co-founder of The Interactive & Immersive HQ. Yo!