TDCollab · private beta

Real-time collaboration
for TouchDesigner

Work in the same project at the same time, each in your own TouchDesigner. Everything done inside one shared COMP, the Collab Zone, shows up on every side as it happens: operators, wires, parameters, DAT text, the timeline.

  • One .tox in each project
  • Over the internet with a room code, or on your own network
  • Up to 8 people in a room
Recreated for this page. Mia moves level1 and turns up its Brightness; Leo doubles lfo1's Frequency. Each change reaches the other a moment later, with their cursor and selection. Everything that syncs →

Start a session

Everyone adds the same component to their project, points it at the COMP to share and joins the same room.

  1. Add TDCollab: drop TDCollab.tox into each project
  2. Pick the Collab Zone: set Collab COMP to the COMP you want to share, or press Create for a new one
  3. Choose how to connect: in Relay mode, the same Room and Room Secret for everyone; or one server and its clients on your own network
  4. Turn Active on and open the zone in your network editor. What you change in the network you're viewing reaches everyone

Connection modes

  • Relay hostedEveryone connects out to a room over wss://. No ports to open, no VPN. Leave Relay Address empty for the hosted relay
  • ServerOne TouchDesigner listens on its address on a LAN, VPN or Tailscale, port 7001 by default
  • ClientThe others connect to the server's address. The server passes each person's edits on to everyone else
The Collab Zone

Share one COMP, keep the rest of the project yours

Only what happens inside the Collab Zone is shared, and TDCollab watches the network each person has open there. Its cost follows that network, not the size of the project.

Navigate into a child COMP and your partners can follow you in, or jump to wherever someone else is working.

Everything outside collab stays local: your outputs, devices and other networks.
INTEGRITY CHECK

Everyone ends up with the same network

When two people change the same thing at once, the host's order decides, so every side ends with the same result. If copies still drift apart, TDCollab notices: each side fingerprints the network it views, a few operators a frame, and the host compares. A difference that lasts is reported on both sides, naming the operators.

  • Check IntegrityAbout 0.3 ms a frame, whatever the size of the network.
  • Ask on DriftPops up who differs in what, once per new difference. Esc dismisses it.
  • Resolve DriftChoose whose copy everyone takes; anyone in the session may choose.
  • Sync ZoneMirror anyone's zone to everyone at any time, after a confirmation.

Recreated for this page in TDCollab's own words: what Leo, the host, sees when Mia's copy has drifted.

Features

What syncs, how you see each other, and what keeps a session in step. Each kind of change is checked by an automated bench that drives running TouchDesigners.

What syncs

Everything inside the Collab Zone, in the network you're working in.

OperatorsCreate, delete, rename, move, resize and change type, including COMPs with their children, docked operators and copies.
WiresMulti-input wires on the right connector, inside child COMPs too, and the top and bottom COMP connectors.
ParametersValues, menus, toggles, operator references, expressions, bind expressions, parameter modes and pulses.
Custom parametersPages and parameters as you define them: ranges, defaults and default expressions, menus, help, enable expressions, read-only.
FlagsBypass, lock, display, render, cooking and a CHOP's Export flag. Viewer and selection too, with Sync Selection on.
DAT contentThe text of Text DATs and the cells of Table DATs.
Colour and commentTouchDesigner reports no change of either, so TDCollab compares them every frame: about 0.7 µs per operator.
UndoCtrl+Z is an edit like any other: whatever it undoes on your side is sent on.

See each other

Who is where, and what they're looking at.

Partner cursorEach partner's pointer with their Display Name, in their colour, over your network editor. Rendered, not built from operators: nothing to click, sync or save.
Partner selectionWhat a partner has current or selected: recoloured, framed by an outline, or both. Your own node colours come back when they move on.
Partner viewA faint dashed outline over the part of the network each partner's editor shows.
Synced panesYour pane follows a partner into child COMPs of the zone. With three or more people, Follow picks whom, by name.
Pan and zoomTake a partner's position and zoom when you enter their network, or keep yours on theirs live while you both look at the same one.
Jump to CollabOne pulse takes you to the network your partner is in.

Sessions

Join late, drop out, come back: the zones stay in step.

Resync on ConnectWhen a partner connects or reconnects: leave both zones as they are, take theirs, or send yours.
Sync ZoneChoose whose Collab Zone everyone mirrors, at any time. It asks first, naming your zone and how many operators it holds.
Simultaneous editsTwo people set the same parameter at once? The host's order decides, and everyone ends with the same value. The same goes for bind expressions, DAT text, colours, comments, flags and positions.
Integrity checkEvery side fingerprints the network it views and the host compares. A difference that lasts is reported on both sides, naming the operators that differ.
Pars Read-OnlyA parameter you change turns read-only on the partner's side for 200 ms, so nobody overwrites anybody mid-drag.
Clean disconnectsPartner cursors, colours and outlines are cleared on disconnect, on exit and before every save. None of it ends up in your .toe.

Project

One timeline for the whole session.

FPSOne cook rate across every project in the session.
Timeline settingsRange, start and end, tempo and time signature.
Transport and framePlay, pause and the current frame. Someone who connects takes the host's.
Paused is fineEdits keep syncing while the timeline is paused.

Performance & testing

Measured, and switchable where it costs.

Follows the open networkTDCollab watches the network in your editor, not the whole project, so its cost grows with that network alone.
Measured in a heavy networkInside a 185-operator particle system, 71 of them cooking every frame, TDCollab's per-frame checks take about 1.6 ms.
Checks you can switch offColour, comment, bind-expression and integrity checks each have their own toggle. Back on, a check re-reads the current state.
Bench-testedAn automated bench drives two running TouchDesigners through 145 scenarios, most in both directions, over TCP/IP and through the relay. A second test does the same with three people.
RELAY MODE

Over the internet, with a room code

In Relay mode every TouchDesigner connects out to a room on the relay. Nobody opens a port or sets up a VPN, and the relay passes each change on to everyone else in one order.

  • Code and secretThe relay turns away anyone without both. The secret goes in the first message over wss://, never in the address.
  • The opener hostsThe first one in holds the zone newcomers take. While they're away, whoever has been there longest stands in.
  • ReconnectsA dropped connection rejoins the room on its own, no click needed.
  • One versionA room takes one protocol version: different TDCollab builds refuse to pair instead of half-syncing.
  • Big zonesA zone over 8 MiB travels in parts; one that didn't arrive whole is refused.

Prefer your own network? Server and Client mode work the same way over a LAN, VPN or Tailscale, without the relay.

Each TouchDesigner keeps one outgoing connection to the room. The hosted relay runs on Cloudflare, one room object per session.

Before you start

TDCollab is in beta. What to know before you rely on it:

Work with people you trustA partner's edits run on your machine: expressions and DAT text are Python. The room secret keeps strangers out; end-to-end encryption is planned.
Same operator, same momentTwo people renaming, deleting or creating the same operator within the time a change takes to arrive (a few frames on one machine, roughly 0.1 to 0.3 s over the internet) can end up with different networks. The integrity check reports it; Sync Zone sets it straight.
Offline edits stay localChanges made while disconnected are not sent later. Resync on Connect or Sync Zone brings the zones back together.
Replacing a zone is finalSync Zone and Resync on Connect replace whole zones, and nothing on one side can undo that on another. Keep a saved copy of your work.
Tools inside the zone sync tooAnything that adds operators or changes parameters in the network you're viewing is sent like your own edits, helper operators included.
Tested on WindowsSo far with TouchDesigners on one machine, over TCP/IP and through the relay. Sessions over real internet connections are what the beta is for; macOS hasn't been tried yet.

Get TDCollab

TDCollab is in a private beta while sessions over real internet connections are tested.

Private beta

Request an invite

Write a line about who you'd collaborate with and on what: a remote studio, a client session, a workshop.

Request an invite →
Function Store

More tools for TouchDesigner

TDCollab comes from Function Store, alongside TDX Launcher Ultra and the FNSTools toolkit.

Function Store on Patreon →

Pricing for the hosted relay isn't set yet. Server and Client mode on your own network don't use the relay at all.