» IOBoxes
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.



Patching pages

Creating IOBoxes

IOBoxes can be used to input (edit) and output (display) data.

There are 3 ways to create an IOBox:

  • via the Node Browser (open it and type IOBox)
  • via a double right-click in a patch
  • via a middle-click while making a connection

IOBox flavors

There is an IOBox for each of the 4 primitive data-types:

All other data-types (like Transform, Texture,...) share one IOBox:

Configuring IOBoxes

All IOBoxes have some settings available via config-pins in the Inspektor in common:

Name, Pin Visibility
  • Descriptive Name
  • Pin Visibility

are used when creating SubPatches.

  • Tag

is a string that is not used by vvvv but users can write plugins that access this information.

  • SliceCount Mode
  • Columns
  • Rows
  • Pages

are for spreading IOBoxes.

Depending on the SliceCount Mode setting the IOBox has its SliceCount determined by:

  • Input: whatever is connected to its input
  • ColsRowsPages: the product of Columns, Rows and Pages
  • Maximum: whatever of the above is more

If set to ColsRowsPages the product of Columns by Rows determines how many slices are visible in the IOBox.

The actual number of slices represented by the IOBox is further determined by the number of visible slices taken by the number of Pages.

If there is more than one page you can use the SliceOffset to "scroll" through all the available slices.

Visual properties
  • Font
  • Size
  • Show Grid
  • Show SliceIndex

are used for modifying the display.

Displaying Data

In order to display the current value of any output pin in a patch, connect it to an IOBox.

Editing Data

In order to specify a constant value for a pin that can easily be tweaked, connect it to an IOBox.


  • Left-doubleclick to enter a new value (also try math formulas).
  • Alt+Rightclick to reset to default value.

Real and Integer Values

Right-drag in the IOBox vertically to change its value and optionally modify the stepsize by pressing:

  • SHIFT to divide by 10
  • CTRL to divide by 10
  • CTRL+SHIFT to divide by 100
  • ALT+SHIFT to multiply by 10
  • ALT+CTRL to multiply by 10
  • ALT+CTRL+SHIFT to multiply by 100

Boolean values

  • 'Toggle': right-click to switch between 0 and 1.
  • 'Bang': right-click to set 1 for one frame, else 0.
  • 'Press': right-press to set 1 as long as mouse is pressed, else 0.


  • Right-drag to change it.

Press F1 on an IOBox to get different readily configured options that you can copy-paste into your patches as needed.



  • horizontally to change hue
  • vertically to change brightness
  • vertically and press CTRL to change saturation
  • vertically and press SHIFT to change alpha

The Color IOBox has several 'Chooser Styles', see Inspektor:

  • HSVA Field (default)
  • RGBA Slider
  • HSVA Slider


Right click in the IOBox to invoke the operation according to its subtype, see Inspektor:

  • most cases simply open a field to enter text
  • filename - open dialog will pop up
  • directory - open dialog will pop up

Note that no matter what subtype the string is if you press CTRL while right clicking the file-open dialog will appear. Pressing SHIFT will invoke the directory-open dialog.


Right-click in the IOBox to open up the pull-down menu, choose an item with a left- or right-click.

The enumeration IOBox can also be switched into a 'List' mode. Open the Inspektor and change the Style configuration pin.

Green IOBoxes

IOBoxes tinted green are exposed for being controlled from the outside. Use CTRL+K to toggle exposing. See Kontrolleur for more information.

anonymous user login


~9d ago

fleg: This Tuesday, Cologne: exhibition opening of "interwoven", textile disinformation patterns created with vvvv. https://fleg.de/news/exhibition-interwoven

~22d ago

manuelgonzalvez: Assimp nodes all broken afted Win Update w/exception "COM object that has been separated from its underlying RCW(...)"

~22d ago

manuelgonzalvez: @levi thanks would love to! anyway managed to get something similar working based on forum search and anthokio's patches.

~23d ago

levi: @ravasquez thanks. 31.2 x86 verrion worked. @manuelgonzalvez i have a dx11 projectTexture if u a want.

~24d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~24d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~25d ago

ravazquez: @levi not sure bout the ImagePack, but I believe VL.OpenCV should give you the same tools and should work with beta just fine

~25d ago

levi: anyone knows of a VVVVpacks.image that works for elliot's projector calibration patches?x64,dx11. always crashes v4 on solve.

~1mth ago

Lorenz: VJing with GIFS: https://lorenzpotthast.de/gifjockey/ A fun little side project, that I first prototyped in v4 and now turned web-based ;)

~2mth ago

schlonzo: finally fixed in 4.8 nice1