vvvv-startup
Launching vvvv gamma
Filesystem Paths
| Location | Path |
|---|---|
| Install directory | C:\Program Files\vvvv\vvvv_gamma_X.Y-win-x64\ |
| User data (AppData) | %LOCALAPPDATA%\vvvv\gamma\ |
| Documents root | %USERPROFILE%\Documents\vvvv\gamma\ |
| Sketches | %USERPROFILE%\Documents\vvvv\gamma\Sketches |
| Exports | %USERPROFILE%\Documents\vvvv\gamma\Exports |
| User packages | %LOCALAPPDATA%\vvvv\gamma\nugets |
| Log file (when enabled) | %USERPROFILE%\Documents\vvvv\gamma\vvvv.log |
Preview builds use gamma-preview instead of gamma in the above paths.
Normal Launch
# Launch vvvv (opens with default empty patch)
"C:\Program Files\vvvv\vvvv_gamma_7.0-win-x64\vvvv.exe"
# Open a specific patch
vvvv.exe MyProject.vl
# Open multiple files
vvvv.exe --open "FileA.vl;FileB.vl"
Package Repositories and Editable Packages
These two arguments work together and are the most important for development:
--package-repositoriestells vvvv where to look for packages. Provide the parent folder of each package (the folder containing the package directory, not the package directory itself).--editable-packagestells vvvv which packages from those repositories to load from source instead of pre-compiled cache (read-only). Glob patterns are supported.
You must use both together when working on a package from source:
# Given this folder structure:
# D:\Projects\
# VL.MyLib\ <-- the package
# VL.MyLib.vl
# VL.MyOtherLib\ <-- another package
# VL.MyOtherLib.vl
# The parent folder "D:\Projects" is the package repository
vvvv.exe --package-repositories "D:\Projects" --editable-packages "VL.MyLib*" --debug
# Multiple repositories (semi-colon separated)
vvvv.exe --package-repositories "D:\Projects;D:\SharedLibs" --editable-packages "VL.MyLib*;VL.SharedUtils" --debug
# Open a specific help patch for testing
vvvv.exe --package-repositories "D:\Projects" --editable-packages "VL.MyLib*" -o "D:\Projects\VL.MyLib\help\HowTo Use Feature.vl" --debug
Without --package-repositories, vvvv won't find your local package sources, and --editable-packages will have no effect.
Common Argument Combinations
# Development: debug symbols + allow multiple instances
vvvv.exe MyProject.vl --debug --allowmultiple
# Troubleshooting: skip cache, enable logging
vvvv.exe MyProject.vl --nocache --log
# Minimal startup: no extensions, no backend (fast launch for patch editing)
vvvv.exe --noextensions --disable-backend
# Paused on startup (runtime won't start until you press play)
vvvv.exe MyProject.vl --stoppedonstartup
# Skip splash screen
vvvv.exe --no-splash
For the complete argument reference, see cli-reference.md.
Detecting vvvv Installations
To find vvvv programmatically:
- Windows Registry: Enumerate
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallfor subkeys starting withvvvv_gamma_. Read theInstallLocationvalue. - Default path: Scan
C:\Program Files\vvvv\for directories matchingvvvv_gamma_*. - Version parsing: Extract version from directory name format
vvvv_gamma_MAJOR.MINOR[-PREVIEW-HASH-PLATFORM]. - Filtering: Exclude
-beta,-alpha,-rc,-test,-dev, etc. variants if not explicitly requested. - Selection: Sort by major DESC, minor DESC, preview number DESC. Pick the latest and ask the user if that or another one should be used.
The executable is at <install-dir>\vvvv.exe.
More from tebjan/vvvv-skills
vvvv-spreads
Helps write code using vvvv gamma's Spread<T> immutable collection type and SpreadBuilder<T>. Use when working with Spreads, SpreadBuilder, collections, arrays, iteration, mapping, filtering, zipping, accumulating, or converting between Span and Spread. Trigger whenever the user writes collection-processing C# code in vvvv — even if they say 'list', 'array', or 'IEnumerable' instead of Spread, this skill likely applies.
47vvvv-fundamentals
Explains vvvv gamma core concepts — data types, frame-based execution model, pins, pads, links, node browser, live compilation (source project vs binary reference workflows), .vl document structure, file types (.vl/.sdsl/.cs/.csproj), ecosystem overview, and AppHost runtime detection. Use when the user asks about vvvv basics, how vvvv works, the live reload model, when to patch vs code, or needs an overview of the visual programming environment.
47vvvv-channels
Helps work with vvvv gamma's Channel system from C# — IChannelHub, public channels, [CanBePublished] attributes, hierarchical data propagation, channel subscriptions, bang channels, and spread sub-channels. Use when reading or writing public channels from C# nodes, publishing .NET types as channels, working with IChannelHub, subscribing to channel changes, managing hierarchical channel state, or implementing reactive/observable data flow. Trigger for any mention of IChannel, IChannelHub, reactive binding, observable state, two-way data binding, or TryGetChannel in a vvvv context.
46vvvv-dotnet
Helps with .NET integration in vvvv gamma — NuGet packages, library references, .csproj project configuration, the [assembly: ImportAsIs] attribute, vector type interop, and async patterns. Use when adding NuGet packages, configuring build settings, referencing external .NET libraries, setting up the ImportAsIs assembly attribute, working with System.Numerics/Stride type conversions, or when nodes aren't appearing in the node browser due to missing assembly configuration.
46vvvv-node-libraries
Helps set up C# library projects that provide nodes to vvvv gamma — project directory structure, Initialization.cs with AssemblyInitializer, service registration via RegisterService, IResourceProvider factories, ImportAsIs / ImportNamespace / ImportType selection, category organization, .csproj setup, and dynamic node factories via RegisterNodeFactory. Use when creating a new vvvv library, VL package, NuGet package for vvvv, deciding which import attribute to use, organizing categories, controlling which public types become nodes, registering services or node factories, or setting up the project structure. Trigger when the user says 'create a package', 'make a library', 'distribute nodes', 'organize categories', 'hide internal helpers from the node browser', or 'publish a VL package'.
46vvvv-shaders
Helps write SDSL shaders for Stride and vvvv gamma — TextureFX, shader mixins, compute shaders, and ShaderFX composition. SDSL is a superset of HLSL, so use this skill when writing or debugging .sdsl shader files, GPU shaders, visual effects, HLSL code for vvvv, working with the Stride rendering pipeline, composing shader mixins, or any GPU/compute work. Trigger even if the user says 'HLSL', 'shader', 'GPU effect', 'render pass', or 'compute' in a vvvv context.
45