Documentation
Setup instructions, shortcuts and reference for FNSTools.
For controls shared by all tools, see the common parameters page. To find a tool by what it does, search the feature list.
Access labels show the lowest Patreon tier required. Membership and licence details →
Guides
Getting started
Install FNSTools, choose packages, update them and manage settings.
Working with FNSTools in your project
What you can change on an FNSTools tool, what an update replaces, and how to keep your own version of a tool.
Moving from v2
For projects that have the 2023 toolkit inside. Take it out, install v3, and see what carries over.
Architecture
How packages, registries, installation and shared settings fit together.
Interface
BorderlessTD
Borderless TouchDesigner window, plus timeline hiding.
ColorUI
Operator and family colour palettes, with the active palette roaming through config.
CommandPalette
A 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.
HotkeyManager
Unified hotkey discovery, conflict detection and rebinding UI across the whole toolkit.
OpMenuMods
OP Create dialog extras: IO filter buttons, your own search keywords per operator type, and acronym search (type m f o for Movie File Out).
QuickPane
Pane layout shortcuts.
SearchPalette
Search field for TouchDesigner's palette browser, installed into the palette on startup. Based on Yea Chen's TD-SearchPalette.
Network
AltSelect
Alternative selection helpers for operators in the network editor.
AutoCombine
Hold Alt while placing a generator TOP to have it come in pre-set to composite over its input.
AutoRes
Hold Alt while placing a generator TOP to have its resolution follow the project (or the panel it sits in).
CookBar
Draws 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.
GlobalOutSelect
Browse Global OP Shortcuts and the out operators inside them in a tree, and drag any of them into a network as a Select.
iopBrowser
Browse 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.
OpTemplates
A library of preconfigured operator templates to drop into a network.
OverlayRegistry
One 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.
ParentHierarchy
Hover 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.
PasteFromClipboard
Paste the image on the clipboard into the current network as a Movie File In, a Script TOP or an annotation. Windows only.
QuickCollapse
Collapse a selection into a component, with an optional customize dialog.
QuickMarks
Bookmark 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.
SearchFix
Makes 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.
SwapOps
Swap one operator for another while keeping connections intact.
SwitchOPs
One hotkey jumps focus back and forth between the last two operators you selected, across networks.
OpenOpPatreon:Base
A 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.
Parameters
CustomParTools
Promote 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.
ExprHotStrings
Abbreviations that expand into TouchDesigner expressions as you type in a parameter field.
OpToClipboard
Copy the selected operator's reference to the system clipboard, ready to paste into an expression.
ParOPDrop
Create Parameter CHOP/DAT and Parameter Execute DAT nodes inside a COMP from its custom parameters, by drag and drop or hotkey.
ParRandomizer
Randomize parameter values within range, for quick exploration.
SetSmoothness
Set Input/Viewer Smoothness on selected TOPs, or on every TOP in the network.
LinkOPsPatreon:Base
Links 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.
Project
Autosave
Save the project on a timer without touching the timeline, honouring your increment and backup preferences, and skipping saves while you are performing.
Misc
Two 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.
ResetPLS
Reset stateful operators (feedback, cache, timers, counts) across the project, with a pattern-based exception list. Bound to ctrl+0.
Developer
CommandKit
Drop-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.
ConfigHost
A 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.
OpenExt
Open an operator's extension source quickly.
VSCodeTools
VS Code integration: open externalized scripts, sync files and generate TouchDesigner type stubs.
SeqModPatreon:Base
Watches 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.
Miscellaneous
Time & sequencing
Control & mapping
midiMapper
Map 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.
oscMapper
Map OSC messages to parameters. Mappings are saved into the project folder by design.
ParHoverMIDI_VSN1
Adjust 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 Pro
MIDI 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.
CHOPs & sensing
ChopBankPatreon:Base
A 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:Base
Shapes 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:Base
A 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:Base
Crossfades 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:Base
Picks 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:Base
Reads 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:Base
Samples 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.
Visual
ComplexMix
Combines 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.
ComplexOp
Treats 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.
ThresholdColor
A 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.
CircularDistortionTOPPatreon:Base
A 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:Base
A 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:Pro
A 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.
FeedbackDisplacePatreon:Base
A 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:Base
Turns 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:Pro
Draw 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:Base
A 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:Base
A 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.
3D and Particles
ExpressionPOP
Per-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:Base
Slices 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:Base
A 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:Pro
A 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.
Show & output
GlobalVolControl
Global audio volume control.
Output
A 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.
FloatDataRecorderPatreon:Base
Records 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.
SlideShowPatreon:Base
A 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:Base
A 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.
Core
CommandRegistry
Collects 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.
ConfigRegistry
Settings persistence registry: one aggregated JSON in the user palette, so preferences follow you across projects and survive updates. The raw master, promoted to /sys.
Console
The 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.
Hub
The 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.
HubRegistry
The registry behind Hub's tab bar: tools contribute native panels, viewers or parameter pages as hub tabs. The raw master, promoted to /sys.
MainMenuRegistry
TD main-menu surface registry, including project-name display. The raw master, promoted to /sys.
NavbarRegistry
The pane-bar surface registry. The raw master, promoted to /sys; clone it to add your own pane-bar widgets.
OpFamily
The 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.
OpMenuRegistry
OP Create dialog surface registry: search words, row decorations, right-click items, filter stages. The raw master, promoted to /sys.
PaletteRegistry
Contribute 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.
PaneSearchRegistry
Publish 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.
PaneTypeRegistry
Named, 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.
TimelineRegistry
Publish 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.
ToolbarRegistry
The toolbar surface registry and mirror rail. The raw master, promoted to /sys; clone it to put your own tools on the bar.
Updater
In-place toolkit updates, with settings preserved across the replacement.