TOOLS FOR TOUCHDESIGNER

FNSTools

Save operator templates, promote parameters by dragging, map MIDI and OSC, and navigate your networks with shortcuts. FNSTools is a collection of TouchDesigner tools you can install individually.

Most tools are free and MIT licensed. Tools that unlock with Patreon are marked Patreon.

A few things you can do

Recording coming soon

Promote a parameter

Drag a parameter onto a component to promote it.

Read the instructions →
Recording coming soon

Reuse an operator setup

Save an operator template and bring it into another network.

Read the instructions →
Recording coming soon

Navigate with shortcuts

Bookmark a network location and jump back to it.

Read the instructions →

What's in the toolkit

86 packages, each installing on its own. Core goes in as a unit; everything else is optional. Open a category to see what is inside, or search every feature to find a tool by what it does.

Interface The window, the menus, the dialogs and the keys. 7 tools
BorderlessTDBorderless TouchDesigner window, plus timeline hiding.
ColorUIOperator and family colour palettes, with the active palette roaming through config.
CommandPaletteA command palette inside TouchDesigner: every command your FNS tools declare and TouchDesigner's own palette components in one ranked list, opened with a hotkey and aware of what you are looking at. Manage favourites and hidden commands from its tab in Hub.
HotkeyManagerUnified hotkey discovery, conflict detection and rebinding UI across the whole toolkit.
OpMenuModsOP Create dialog extras: IO filter buttons, your own search keywords per operator type, and acronym search (type m f o for Movie File Out).
QuickPanePane layout shortcuts.
SearchPaletteSearch field for TouchDesigner's palette browser, installed into the palette on startup. Based on Yea Chen's TD-SearchPalette.
All 52 Interface features →
Network Place, find, swap and move between operators. 16 tools · 1 Patreon
AltSelectAlternative selection helpers for operators in the network editor.
AutoCombineHold Alt while placing a generator TOP to have it come in pre-set to composite over its input.
AutoResHold Alt while placing a generator TOP to have its resolution follow the project (or the panel it sits in).
CookBarDraws a bar above every operator in the network you are viewing: its cook time on top, its GPU memory below, so the expensive parts of a network stand out at a glance, with the numbers beside them if you like. A Top List in a corner names the heaviest operators and takes you to one with a click. Its toolbar button switches it on; Ctrl+right-click the button for a global Hog CHOP to stress-test against. Based on Anton Heestand's Cook Bar.
GlobalOutSelectBrowse Global OP Shortcuts and the out operators inside them in a tree, and drag any of them into a network as a Select.
iopBrowserBrowse the internal operators and the OP tree of the network you are in, from a popup opened off the pane bar. One browser instance serves every pane; the bar carries only the button.
OpenOpPatreon:BaseA one-button shortcut to a deeply nested operator: drop it on the field once, then a pulse opens its parameter window, its viewer window, or both.
OpTemplatesA library of preconfigured operator templates to drop into a network.
OverlayRegistryOne overlay over the network editor you are working in, composited from every tool that draws there: each tool hands over its own image, and this registry fits it over your view, stacks it with the rest and shows it above the nodes, without touching your network's display flags or annotations.
ParentHierarchyHover a parent in the pane-bar path with Alt to see its parent shortcut, global shortcut and internal operators, and Ctrl to see its custom parameters and values. Click any item to copy a reference to it. It works on the path you already have and adds no button of its own.
PasteFromClipboardPaste the image on the clipboard into the current network as a Movie File In, a Script TOP or an annotation. Windows only.
QuickCollapseCollapse a selection into a component, with an optional customize dialog.
QuickMarksBookmark network locations and jump back to them with Ctrl+number. Your marks show on the network editor: a list in a corner you can click, and a pin at each marked spot. Bookmarks stay project-local by design. Based on Alex Guevara's QuickMarks.
SearchFixMakes the network editor's find bar find things: any part of a name, case-insensitive, with wildcards, optionally fuzzy and inside child networks. Keeps the bar's arrows and Home toggle; a Legacy toggle brings TouchDesigner's own search back.
SwapOpsSwap one operator for another while keeping connections intact.
SwitchOPsOne hotkey jumps focus back and forth between the last two operators you selected, across networks.
All 84 Network features →
Parameters Promote, bind, link, randomize and reference parameters. 7 tools · 1 Patreon
CustomParToolsPromote parameters to a parent with binds or expressions, customize name/label/range on drop, plus extension creation, parent shortcuts, parameter clearing and IOP promotion. Also carries the pane-bar drag-drop hijack and path-cell injection, and four stock-TouchDesigner shortcuts for opening parameters and the COMP editor.
ExprHotStringsAbbreviations that expand into TouchDesigner expressions as you type in a parameter field.
LinkOPsPatreon:BaseLinks the parameters of several operators so a change on one lands on all of them, with exceptions by operator and by parameter, an automatic mode and a one-shot sync.
OpToClipboardCopy the selected operator's reference to the system clipboard, ready to paste into an expression.
ParOPDropCreate Parameter CHOP/DAT and Parameter Execute DAT nodes inside a COMP from its custom parameters, by drag and drop or hotkey.
ParRandomizerRandomize parameter values within range, for quick exploration.
SetSmoothnessSet Input/Viewer Smoothness on selected TOPs, or on every TOP in the network.
All 46 Parameters features →
Project Saving, backups, media files and housekeeping. 3 tools
AutosaveSave the project on a timer without touching the timeline, honouring your increment and backup preferences, and skipping saves while you are performing.
MiscTwo small toolbar utilities: a Background Viewer toggle for the network's backdrop TOPs and CHOPs, and a global Mouse In CHOP you can drag channels from onto parameters.
ResetPLSReset stateful operators (feedback, cache, timers, counts) across the project, with a pattern-based exception list. Bound to ctrl+0.
All 19 Project features →
Developer Extensions, editor integration and kits for your own tools. 5 tools · 1 Patreon
CommandKitDrop-in kit that lets ANY component publish quick-launch commands to the in-TouchDesigner command palette and the TDX launcher: decorate a promoted method, or declare a spec. Guarded: with no registry in the session nothing happens and nothing errors.
ConfigHostA standalone ConfigRegistry host. Drop it into a component to give it roaming settings; its parameters save and reload with your config, with per-parameter and per-page exclusions.
OpenExtOpen an operator's extension source quickly.
SeqModPatreon:BaseWatches a sequence of parameters on any COMP: name the target and the sequence, and the block parameters are published as one list, with a callback for every block added or removed.
VSCodeToolsVS Code integration: open externalized scripts, sync files and generate TouchDesigner type stubs.
All 24 Developer features →
Miscellaneous Small helpers that fit nowhere else. 1 tool
HydroHomieA toolbar reminder to drink water at an interval you set. Off by default.
All 2 Miscellaneous features →
Time & sequencing Timelines, tempo, presets and sequences that move over time. 1 tool
QuickTimeA toolbar clock that hands out drag-and-drop time references for parameters: resettable and scalable absTime and absFrame, frame, and a progress value for perfect loops.
All 3 Time & sequencing features →
Control & mapping MIDI, OSC, your phone and hardware controllers. 4 tools
midiMapperMap MIDI controls to parameters, with a learn mode you drive by dropping a parameter on the toolbar button. Mappings are saved into the project folder by design; the tool's own settings roam through config.
oscMapperMap OSC messages to parameters. Mappings are saved into the project folder by design.
ParHoverMIDI_VSN1Adjust any parameter by hovering over it and turning an endless MIDI encoder, built for the Intech Studio VSN1 with screen and LED feedback: parameter slots and banks, ParGroup control, step sizes, shortcuts for reset and clamp, and network zoom when no parameter is under the mouse. Lands at the network root; one instance per project.
TDXMap14-day trial, then Base or ProMIDI controller mapping with a live web UI: multiple devices, banks, Smart Learn, button actions, 14-bit controls. Pro adds smoothing, pickup mode, easing curves, slot and modify modes.
All 21 Control & mapping features →
CHOPs & sensing CHOP operators: shape, generate and read channels. 7 tools · 7 Patreon
ChopBankPatreon:BaseA bank of channel processors: one block per channel, each with its own range, exponent curve, zero-below, lag and speed mode, built from the input with one Snap Input, with gain before and after and every block promoted as a property. An alternative for the Math CHOP and the Constant CHOP.
ChopProcessPatreon:BaseShapes channels in one node: limit, remap between ranges with an exponent curve, zero at the bottom, lag, and an optional speed mode that turns the result into a running total. An alternative for the Math CHOP.
ConstantCHOPPatreon:BaseA Constant CHOP with typed values: numbers, toggles, tuples, text, paths or operator references, each promoted as a property you can read and set from Python, and a snap from its input. An alternative for the Constant CHOP.
EaseInterpolatorPatreon:BaseCrossfades between two CHOPs through an easing curve: thirty classic easings from sine to bounce, or a custom curve from a third input, all driven by one Select value.
KinectSinglePlayerPatreon:BasePicks one player out of a Kinect skeleton stream: whoever stands inside the bounds you set becomes the active player, and their joints ride out as clean channels until they leave.
MoveDetectDirPatreon:BaseReads which way things move in a camera or any image with optical flow and turns it into left/right and down/up channels, with thresholds, inversion and filtering, for swipe and gesture triggers.
TopToMidiPatreon:BaseSamples an image at points you define and turns the pixel values into MIDI notes in a musical scale, with trigger gating, retrigger control, a MIDI-learned custom scale and output to a MIDI Out or VST CHOP.
All 39 CHOPs & sensing features →
Visual TOP operators: distort, colour, mask and generate images. 11 tools · 8 Patreon
CircularDistortionTOPPatreon:BaseA circular distortion for images: rings of displacement around a centre you place, with phase, frequency, amplitude and a mode blend, and a choice of how the input extends past its edge.
ColorGenPatreon:BaseA colour palette generator: a lookup of any length shaped by a phase step per channel and per channel exponents, with a lookup ramp as a second output.
ColorGenProPatreon:ProA cosine palette generator in GLSL: the full coefficient set per channel, an RGB and D mode, blackout and soft regions, and a lookup ramp as a second output.
ComplexMixCombines two UV fields as complex numbers: add, subtract, multiply, divide or raise one to the other, optionally weighted by a third input, then samples an image through the result.
ComplexOpTreats the image plane as the complex plane and applies a complex function to it: square, root, exp, log, the trigonometric and hyperbolic families, with iteration, a pre and post transform and a choice of edge handling.
FeedbackDisplacePatreon:BaseA feedback loop with a displace stage inside it: opacity, crossfade, filter size, displacement driven by a built-in noise or a second input, a per-pass transform, reset and a dry/wet mix. An alternative for the Feedback TOP.
InstanceTrailerPatreon:BaseTurns one moving image into a trail of its recent frames: a cache laid out in a row or column with exponent-shaped spacing, plus the offsets as a CHOP for instancing.
MaskDrawPatreon:ProDraw a mask with the mouse straight onto the image: a panel you paint in, with the mask and the masked image as outputs, a lock and a reset.
PrismTOPPatreon:BaseA kaleidoscopic prism: the input rendered through instanced, rotating polygon facets in up to three ring patterns, with softness, a chromatic distortion pass, fit and transform, and a dry/wet mix. An alternative for the Tile TOP and the Mirror TOP.
RealRampPatreon:BaseA ramp with a true phase and period and its colour keys as parameters: vertical, horizontal, radial or circular, holding, zeroing, repeating or mirroring past its ends, so a driven phase never drifts or snaps the way a keyed Ramp TOP can. An alternative for the Ramp TOP.
ThresholdColorA Threshold TOP that keeps the colour: pixels that pass the test come through in their original colour with a soft edge. An alternative for the Threshold TOP.
All 53 Visual features →
3D and Particles POP operators, particle systems and 3D stacks. 4 tools · 3 Patreon
ExpressionPOPPer-point attribute expressions for POPs: write lines like P = P + N * 0.1 and they compile to a GLSL compute shader, with local variables carried between lines. An alternative for the Math Combine POP.
LayerSep3DPatreon:BaseSlices an image into depth layers by a channel threshold and instances them as a stack in 3D, with per layer threshold, softness, mix, position, scale and rotation driven by curves or CHOPs.
Particles2D_POPPatreon:BaseA 2D particle simulation as a POP loop: a source image emits particles, curl noise and wind effectors steer them with lookup ranges, trails stretch them, and the loop rides out as points for your own render.
ParticlesGpuUltimatePatreon:ProA GPU particle system driven by images: a thresholded source emits particles, and look, life, turbulence, wind and force fields shape them, each optionally read from its own image, with a feedback pass for trails and one rendered output.
All 25 3D and Particles features →
Show & output Scenes, slides, recording, audio and the perform window. 5 tools · 3 Patreon
FloatDataRecorderPatreon:BaseRecords a float texture such as a depth point cloud, a colour texture and a CHOP to files in sync, then plays the three back together against the timeline with a frame offset.
GlobalVolControlGlobal audio volume control.
OutputA toolbar button for the perform window: drop an operator to route it, click to open or close, and switch NDI and Spout/Syphon streaming of the same window.
SlideShowPatreon:BaseA slideshow of a folder of images: timed or stepped with next and previous, in order or random, with a crossfade between slides and a fitted output resolution.
SwitchToolsPatreon:BaseA companion for any Switch, Cross or multi-input operator: index by slider, menu or bind, loop or clamp, colour the live input, cook only the inputs in use and unload the rest from the GPU, plus reorder, reverse, randomize and align the inputs.
All 17 Show & output features →
Core The registries every other tool plugs into. Installed as a unit. 15 tools
CommandRegistryCollects the commands your tools declare and serves them to whatever can run them: the in-TouchDesigner command palette and the TDX launcher. Discovery is by tag, so a tool installed before any consumer still appears the moment one arrives.
ConfigRegistrySettings persistence registry: one aggregated JSON in the user palette, so preferences follow you across projects and survive updates. The raw master, promoted to /sys.
ConsoleThe toolkit's web front, served from inside your project: every tool's settings on one page, the install picker, and any tab a tool contributes. The raw master, promoted to /sys.
HubThe FNS button in TouchDesigner's main-menu bar and the one-stop manager window behind it: the Toolbar, Navbar and Main Menu configurators as tabs, the console, and any tab a tool contributes. Drop a panel COMP on the button to register it into a surface.
HubRegistryThe registry behind Hub's tab bar: tools contribute native panels, viewers or parameter pages as hub tabs. The raw master, promoted to /sys.
MainMenuRegistryTD main-menu surface registry, including project-name display. The raw master, promoted to /sys.
NavbarRegistryThe pane-bar surface registry. The raw master, promoted to /sys; clone it to add your own pane-bar widgets.
OpFamilyThe FNS tab in the OP Create dialog: an operator family whose members are FNS tools placed from the store as one node each, with stubs for projects that travel and in-place updates that keep retained parameters and state. Built with TDFam.
OpMenuRegistryOP Create dialog surface registry: search words, row decorations, right-click items, filter stages. The raw master, promoted to /sys.
PaletteRegistryContribute tabs to TouchDesigner's Palette Browser: a tool publishes a native panel COMP and it appears beside the stock Palette tab, sized to the slot and notified on every tab change.
PaneSearchRegistryPublish a control into the find bar of every network editor pane: it sits beside the bar's own Home toggle, one copy per pane, and appears in panes opened later too.
PaneTypeRegistryNamed, persistent pane-type entries for TD's panebar: any COMP can appear in the pane-type dropdown and be recalled with configurable owner, type, window actions and callbacks.
TimelineRegistryPublish a widget into TouchDesigner's timeline bar: transport controls beside the stock ones, an entry on the time-properties block, or a full-width strip in the frame-ruler band that gets its own row.
ToolbarRegistryThe toolbar surface registry and mirror rail. The raw master, promoted to /sys; clone it to put your own tools on the bar.
UpdaterIn-place toolkit updates, with settings preserved across the replacement.
All 107 Core features →

Every package has its own page, and the docs are searchable, open the documentation →

Two ways to install

One container goes into your project, you pick the tools from there, and only those get downloaded. Start from a download or from the picker on this site; either way, the updater keeps it current.

Either

Download and drop

Drag FNSTools.tox into the root of a project. It is about 150 KB and arrives empty: the container you drop is where your tools will live.

Then pulse Pick Tools and the picker opens inside TouchDesigner. Browse by category, follow any card through to its docs, and review the plan before anything is written to your project.

Download
What the picker actually does

It downloads exactly the packages you ticked, plus the core registries they need, and verifies every file against the release manifest with sha256 before anything is installed.

Nothing else is written.

On the very first run it fetches the catalogue before it can show you anything, and says so while it does.

Or

Pick online and paste

The same picker is on this site. Tick your tools, copy the one line it gives you, and paste it into the Textport of an open project.

No download: the line fetches the container and your picks together and places the container in your project for you.

Choose tools online →
What the pasted line does

It carries only the names you ticked. Release, URLs and hashes are read from the published manifest at paste time, so a line you copied earlier still installs the current release.

It fetches the core registries, your selection and the container, verifies every file with sha256 before writing anything, then loads the container into the network you are in and hands it the selection to install.

Then

It stays current

Each package carries its own version, and the updater compares it against the published one. Update the tools you use, leave the rest alone, and keep your settings across the swap.

How updates work
Where your settings live

Preferences go into one aggregated JSON in your user palette, outside the project file, so the way you set a tool up follows you into the next project, and survives the next update.

MIDI and OSC maps are the deliberate exception: they save into the project folder, so they travel with the show.

Settings are preserved when a package is replaced. And the registries are promoted masters you can clone, so your own tools can sit on the toolbar, nav bar or OP menu too. How settings persistence works →

Make it the default

Save the project and set it as your startup file in Preferences → General → Startup File Mode. Every new project then opens with your tools already in it.

On macOS

Clipboard image paste is not available on macOS. Where the docs say Alt, press Cmd. Exceptions are called out per tool.

Finding help later

Alt-right-click (or Alt-middle-click) any toolbar icon to open that tool's page on this site. Option on macOS.

Prefer to choose your tools in the browser?

Free and Patreon

Most tools are free and MIT licensed, including for commercial work. No account is needed.

Tools marked Patreon unlock with a Patreon membership at the tier each tool names (Base, Pro or Coaching) or a Gumroad licence key. Install and update them through the same picker.

See the Patreon tools and licence details →

Full walkthrough

A full walkthrough with the TouchDesigner team on InSession. Recorded on an earlier release; some interfaces have changed.

Documentation

Tool reference

Find setup instructions, shortcuts and examples for each tool. Search the docs or start with one of these:

Support the project

Patreon memberships help fund development and unlock the Patreon tools. For questions, join the Discord. For bugs, open a GitHub issue.

More from Function Store

Project management and MIDI mapping, available separately.

From the community

9 tools by other creators that pair well with FNSTools, made and maintained by them.

See the community tools →

Who makes this

FNSTools is made by Dan Molnar, a Berlin-based artist and developer working as Function Store, with a few community contributors credited below. More are welcome, on GitHub or Discord. The tools grew out of building installations and live systems in TouchDesigner; the rest of that work is on his portfolio site.

About Function Store → See the work at functionstore.xyz ↗

Credits

FNSTools includes open-source tools and code I adopted and adapted for this toolkit. These are their original authors, along with people who helped test it.

MIDI & OSC mappers

I also learned a lot from reading these components.

by PlusPlusOneGmbH
SearchPalette

The palette search bar that is hard to work without once you have it, based on TD-SearchPalette.

based on the work of Yea Chen
IO filters, and TouchDesigner

The OP Create dialog filters, and the software all of this sits on.

by Greg Hermanovic
Clipboard image paste

Paste an image straight into a network.

by DotSimulate and Lake Heckaman
OpType acronyms

Find operators in the OP Create dialog by their initials.

by DotSimulate
QuickMarks

Bookmark spots in a project and jump straight back to them.

by Alex Guevara
Cook Bar

A bar above every operator showing its cook time and GPU memory, from cook_bar.

by Anton Heestand
Early testing and feedback

The people who used all of this while it was still sharp around the edges.

by Acrylicode and kim0slice