TouchDesigner · Gamepad to MIDI + OSC

Your gamepad as a control surface in TouchDesigner.

Named channels in a MIDI In CHOP. Addressed parameters over OSC. Calibrated, curve-shaped values — not raw device axes you have to clean up inside the patch.

Universal Controller MIDI handles deadzones, calibration and response curves before TouchDesigner sees the value. Free for MIDI; Pro adds OSC and 14-bit sticks.

MIDI In CHOP works on the free tier. OSC output is a Pro feature.

Why not just use TD’s joystick handling?

You can. The difference is where the cleanup happens — raw device axes arrive jittery, uncalibrated and linear, and fixing that inside the patch is work you redo on every project.

Calibration before the patch

Deadzones and stick drift are handled in the bridge, so a worn pad does not leak a permanent offset into a parameter you tuned yesterday.

Read the TD mapping guide

Named, portable channels

Mappings save as plain JSON and travel between machines, so the same channel names land in every patch instead of being rebuilt per project.

See the OSC show-control setup

14-bit when 7-bit shows steps

A slow stick sweep across a 7-bit CC staircases visibly on a projected parameter. Pro raises the sticks to 14-bit so the move stays smooth.

OSC vs MIDI — which when

It scales past 128 numbers

A real show file outgrows the CC range. OSC addresses parameters by name over the network, which is why most mature TD rigs end up running it.

Pair it with a tablet surface

Every TouchDesigner guide, in order of depth.

Start at the top for channels in a patch. The later entries cover OSC show control, hybrid surfaces and the neighbouring creative-coding hosts.

DualSense mapping with MIDI CHOPs

The full walkthrough: getting the pad into a MIDI In CHOP, naming the channels, and wiring them to operator parameters that actually hold up live.

Show control over OSC

For a real show file, OSC In beats MIDI CHOPs — addresses by name rather than CC numbers, and it survives a patch growing past 128 parameters.

Other visual hosts: Resolume, plus MadMapper, Millumin, Isadora and Hydra.

What TouchDesigner needs from you

Two routes in, depending on tier. Both end up as channels you can wire into any parameter.

  • The MIDI route (free). Enable a virtual port — the IAC Driver on macOS, the bundled port on Windows — then add a MIDI In CHOP and select it in the MIDI Device Mapper.
  • The OSC route (Pro). Point the bridge’s OSC output at a host and port, then add an OSC In CHOP or DAT listening on that port. Addresses arrive by name.
  • Wire the channels. Drag a channel onto a parameter, or reference it with a CHOP expression. Calibration and curves are already applied upstream.

For the step-by-step version, see the installation docs and what a virtual MIDI port actually is.

MIDI is free. OSC is where Pro earns it.

Check the pad reaches a CHOP on the free tier. Pro is for show files that have outgrown CC numbers.

Free

Free

Get your controller into a MIDI In CHOP.

  • Core gamepad-to-MIDI bridge
  • Default MIDI note and CC mappings
  • Stick drift auto-calibration
Download free

Pro

Recommended
AUD89 before applicable tax one-time

Build the control surface a show file needs.

  • OSC output configuration
  • Full custom mapping editor
  • 14-bit resolution on the sticks
  • Curves, latch behaviour and conditional layers
  • Local preset library
See the current Pro offer

TouchDesigner gamepad questions

Can you use a PS5 or Xbox controller in TouchDesigner?

Yes. Universal Controller MIDI sends standard MIDI that a MIDI In CHOP picks up directly, or OSC on Pro that an OSC In CHOP or DAT receives. Either way the pad arrives as named channels you can wire into any operator parameter.

Should I use MIDI CHOPs or OSC?

MIDI is in the free bridge and is the fastest way to confirm everything works. OSC is a Pro feature and is the better fit once a show file grows — it addresses parameters by name over the network rather than squeezing everything into 128 CC numbers.

Does TouchDesigner send anything back to the controller?

No. The bridge sends and TouchDesigner listens — it is a one-way control path. DualSense haptics are driven from the bridge’s own feedback input, not by TouchDesigner controlling the pad.

Does TouchDesigner see a gamepad without the bridge?

TouchDesigner does have joystick handling, but it gives you raw device axes rather than the named, calibrated, curve-shaped channels a mapping layer provides. The bridge handles deadzones, calibration and curves before TD ever sees the value.

Can I drive DMX lighting from this?

Not from the bridge directly. It outputs MIDI, plus OSC on Pro. DMX or Art-Net comes from whatever sits downstream — TouchDesigner itself, or a dedicated lighting tool that converts from there.

Will the sticks be smooth enough for continuous parameters?

Yes. Sticks and analog triggers send continuous values at a 250 Hz poll rate, and Pro adds 14-bit resolution for the sticks when 7-bit CC steps are visible on a slow sweep.

Can I run two controllers into one patch?

Yes. Connect two pads and the bridge exposes them as separate ports, so each arrives as its own CHOP rather than colliding on the same channel names.

Wire it into the patch.

Calibrated channels, named and portable, before TouchDesigner ever sees a value.

VJing as well? See the Resolume page. Producing? See the Ableton Live page.