Extensibility and Customization

TouchDesigner offers the tools required to build completely customizable systems and extend functionality to meet the needs of your project.

Python is woven into the architecture of TouchDesigner to offer full control and customizability to programmers. All operators have a python description (python class) and can be accessed using the built in python 3.5. Standard features include parameter expressions, event management, and python callbacks, allowing an easy entry into python programming for those new to the language. Component extension classes offer the ability to create unique behaviors through user-defined methods and properties for those that want to build deeply customized systems. To further extend TouchDesigner’s capabilities, one can look to the python community and thousands of libraries to interface with. This can enable custom communication with other software and devices, perform math and scientific computations, connect to web APIs like Twitter and Instagram, and more.

C++ programmers can create their own operators, visual effects, and integrate external SDK’s. With Nvidia graphic cards, one can also leverage CUDA to make GPU accelerated simulation, particle, physics effects and more. Shading in TouchDesigner uses GLSL shading language. Write your own pixel, vertex, geometry, and compute shaders for both 2D textures and 3D materials. For 099 the default version has been updated to GLSL 3.3.


  • Python 3.5 is the default scripting language offering full control and customizability. 
  • Utilize external libraries to interface with software, perform scientific computations, connect to web APIs and more. 
  • Python extension classes give components unique behaviors through user-defined methods and properties. 
  • Extend functionality by creating your own operators and integrate external SDK’s using C++ and CUDA. 
  • GLSL 3.3 (up to 4.5 on Windows) for custom materials and 3D/2D shaders. 
  • OpenFrameworks v0.9.3 and OpenCV 3.2 supported, examples projects for both to get you started. 
  • Share and reuse components freely between projects, create asset libraries. 
  • Replicator and cloning features enable quick, reliable, and massive project scale-up.