FreenectTD is an open-source TouchDesigner plugin aimed at macOS users who don't have a way to use the official Kinect OPs in TouchDesigner.
It leverages libfreenect and libfreenect2 to implement support for Kinect cameras.
Important
FreenectTD is an experimental project. While being thoroughly tested and confirmed to work on multiple platforms, it may still have some bugs or stability issues. Please be careful if using in a production environment. I don't take any responsibility.
- Apple Silicon Mac
- macOS 12.4+ (Monterey)
- TouchDesigner 2025+ (any license)
- Kinect V1 / Kinect V2
| Feature | Kinect V1 | Kinect V2 |
|---|---|---|
| RGB streaming | ✅ | ✅ |
| Depth map streaming | ✅ | ✅ |
| Point cloud map streaming | ❌ | ✅ |
| IR streaming | TBA | ✅ |
| Tilt control | ✅ | ❌ |
| Depth undistortion | ❌ | ✅ |
| Depth registration (align depth map to color) | ✅ | ✅ |
| Manual depth range threshold | ✅ | ✅ |
Tilt control may not work with some V1 models (1473 and Kinect for Windows V1). This is due to a mix of different factors in libfreenect and Kinect official firmware.
-
Right click on
FreenectTOP_[version]_Installer.pkgand select "Open"
You should now find FreenectTOP under the "Custom" OPs panel.
Tip
If the Installer gets blocked from running, go to System Settings > Privacy & Security and click on Run Anyway
-
Unzip and copy
FreenectTOP.pluginto TouchDesigner's plugin folder, which is located at/Users/<username>/Library/Application Support/Derivative/TouchDesigner099/Plugins. You might need to show hidden files by pressing⌘⇧..
You should now find FreenectTOP under the "Custom" OPs panel.
-
Unzip and copy
FreenectTOP.pluginnext to your .toe, in a folder namedPlugins.
You should now be able to open your .toe and find FreenectTOP under the "Custom" OPs panel.
By default, FreenectTOP outputs RGB data. To get other streams, you must use Render Select TOPs and reference indexes 1 (for a depth map), 2 (for a point cloud map) and 3 (for IR stream).
Example .toe project files are provided in this repository, under the toe_examples directory.
- Only one Kinect device per machine is supported.
- Only one FreenectTD OP can be active at a time.
- Skeleton tracking is currently impossible to implement.
To uninstall all FreenectTD related files, run the following command in terminal:
sudo rm -rf ~/Library/Application\ Support/Derivative/TouchDesigner099/Plugins/Freenect*.plugin
If you like FreenectTD, please consider donating to support further development!
A very big thank you goes to the OpenKinect project, who developed the libraries that made this plugin possible.
FreenectTD is licensed under the GNU Lesser General Public License v2.1 (LGPL-2.1).
This means you are free to use, modify, and distribute this plugin, including in closed-source applications, provided that any modifications to the plugin itself are released under the same LGPL v2.1 license.
This project also includes the following third-party libraries, each under their respective licenses:
-
libfreenect – Apache 2.0 License
Full License Text -
libfreenect2 – Apache 2.0 License
Full License Text -
libusb – LGPL 2.1 License
Full License Text
By downloading, using, modifying, or distributing this plugin, either as source-code or binary format, you agree to comply with the terms of both the LGPL-2.1 license for the plugin itself and the respective licenses of the third-party libraries included.