Premium courses are not included in the HQ PRO subscription
Summary
As TouchDesigner projects grow from quick tests to full experiences, many developers end up with scattered scripts, copy-and-paste fixes, and timing tricks that only mostly work. These shortcuts cause familiar headaches—random crashes, buttons that respond twice (or not at all), projects that no one else on the team can follow, long debugging sessions trying to figure out why code randomly stops working, and frantic last-minute showtime additions to the project that don’t feel like they’ll work because of how complex the code is. Pro TouchDesigner Python & Extension Architecture is the antidote. Noah Norman of Hard Work Party takes you on an over 2 hour dive into how to build your TouchDesigner projects around clean Python extensions, proven Python libraries that extend your capabilities, and a Git-friendly workflow so your code is stable, readable, and ready for any scale-up. The result? You’ll look back at your old projects and wonder how they ever even worked and that you now have the blueprint to building bulletproof TouchDesigner projects!
Instructor
Noah Norman, Founder @ Hard Work Party
Course Contents
- Foundations & Scoping the Build: The opening section clarifies the project goals and explains, in practical terms, why extensions, state machines, and typing are indispensable for professional TouchDesigner work; you’ll tour both the sample app that will be built in the course as well as review a large-scale project currently in development, so every concept has a clear, real-world anchor.
- Project & Dependency Setup: You will define project requirements, create a clean folder hierarchy, understand the benefits of virtual Python environments, install third-party Python packages, and configure dynamic environment variables, ensuring the build is both portable and repeatable.
- Rock-Solid Extension Frameworks: Noah guides you through building a bullet-proof startup extension, crafting reusable settings and data extensions, and organizing external class definitions with Pydantic validation to catch errors early and clearly. You’ll review the kind of data flow and communication process that allows you to build large projects without the mental overload typically associated with them.
- Version Control Integration: The course shows how to externalize .py files, enable rich IDE autocompletion, and commit your TouchDesigner project to Git, so you can confidently work on a team and collaborate with other developers and artists. As a part of this, Noah demonstrates the current development tooling he’s using to obtain the best TouchDesigner Python workflow possible.
- Advanced State-Driven Application Logic: You will implement a Python state machine inside extensions, weave in user-interaction flows, coordinate a Timer CHOP hand-off to demonstrate using them alongside Python state machines, reference externalized data dictionaries, and create a whole application’s experience logic within Python extensions.
Course Benefits
- Reliable Code with Pydantic Type-Checking: Strong typing catches data mismatches before they break a project and gives your IDE richer hints, so you spend less time hunting obscure bugs. Implementing this alongside a linter helps you avoid Python errors before they happen.
- Structured State Machines for Complex Logic: A dedicated Python state-machine library replaces ad-hoc Timer CHOP solutions, making transitions explicit, predictable, and easier to update as projects evolve.
- Modular Extension Architecture: Class-based extensions keep TouchDesigner networks tidy, isolate functionality into reusable pieces, and make it simpler to share work across a team. This has a huge benefit of allowing you to work on a large-scale project without having to remember how everything works every time you want to change an element or add a new feature, essentially saving you time and energy on all your projects.
- Professional Git Workflow: Externalized .py files and a clean folder layout integrate smoothly with Git, enabling safe branching, code review, and quick rollbacks when deadlines loom. Most of all, it sets you up to be able to collaborate on teams with ease, which isn’t something you traditionally think is easy with TouchDesigner.
- Up-to-Date Best Practices: The course bundles modern Python libraries, IDE automation, and TouchDesigner-specific patterns into a 2025-ready workflow that keeps your skills current, in demand, and at the highest level.
