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


tool standalone vpm
Credits: LibGit2Sharp, PowerArgs, SharpCompress, Fody Weavers, Fody Costura


Documentation is at https://github.com/microdee/vpm

Now you can browse and install packs from the VPDB pack repository with ease!

Install / Use

  • Download latest release from https://github.com/vvvvpm/vpm/releases
  • Register a VVVV with its setup.exe (if it's not done already)
  • Extract anywhere
  • Run it at least once so it can register vpm:// or vpms:// uri schemes (vpm links).
  • Click a vpm link (vpm(s)://) or double click a .vpack file

Happy Contributions:

(* available through https://vvvvpm.github.io/ )

Changelog (also manually copied here from github for your convenience):


  • Added ThrowException function for scripts
  • Made loading Nuget packages for scripts working


  • Fixed not all assemblies were loaded shipping with vpm
  • Allow drag and drop on folder selection


  • Added a directory selector dialog


  • Updated nuget packages and removed Fody Weavers

I figured since the actual files are already put into a subfolder, I might as well just put all the DLL's there and not weave them into main exe. This also allows to use all referenced assemblies in the installation script


  • Added a more stylish darker look with MahApps.Metro

and loading spinners for UX shenanigans

  • Added a "web UI" for vpdb
  • got rid of old vpdb remnants
  • added an example for license pages


  • Vpm can now talk to the license pages through javascript


  • Updated vpm.bat for usage in 'PATH' (by MrRoundRobin)
  • Added license agreement screen

Powered by a CefSharp control


1.1.2 (.1)

  • Add: If the input .vpack's pack is already existing user is prompted to update/overwrite instead of quitting immediately
  • Fix: File copying exceptions from the script (like access denied) are handled individually and let the remaining files copy and the rest of the script run.
  • Fix: In case of above mentioned exception comes from overwriting read-only or hidden files, vpm will remove those attributes before copying.
  • Mod: Ditched directory printing, it was just bloating the console.


  • Add: Now vpm also associate .vpack files during registration
  • Add: Improved scripting: now scripts can use assemblies referenced by vpm

this means pack developers can reference System and some basic namespaces of it with the using statement

  • Mod: vpm doesn't require an exiting vvvv anymore. This means vpm can install vvvv and addonpack to its own folder or the folder specified in command line argument.
  • On the point of previous entry vpm now also able to update vvvv to the latest alpha with a vpack file (Try updating here)
  • Mod: it has colors now yaaay!
  • Mod: the source tag is not mandatory now

see related news article here: introducing-vpm-a-vvvv-package-manager.
(for older version)


beyon 20/10/2016 - 09:35

Interesting but still very much alpha it seems. Would really need to have some version info for packs.

Seems you can have arbitrary c# code in a .vpack? Powerful but also seems a bit like handing over your keys to your house to the author from a security perspective but with curated package repo it might be ok.

If you use the latest_alpha packs to install vvvv it seems like it will just copy new files over an existing vvvv directory with no cleaning up of files not used by a newer version?

microdee 21/10/2016 - 16:17

@beyon: good and valid points, responses:
Versioning: I've tried to implement versioning at some point and I found it would introduce more brain-cancer than it would have supposed to solve. Especially in situations where inside the dependency tree 2 different versions of the same pack is referenced. For now if a pack requires an older version of an other pack it's simpler to script its custom fetching than having to keep in mind an xml infrastructure for that thing. Also I think "do you want to overwrite?" prompt is the easiest way currently for everyone.

Scripting: yes arbitrary C# code. So well as with any executable file on the internet download only from trusted sources. vvvv community is so small though that a malacious script wouldn't live long on the website or on github. On the other hand vpm is not elevated if the script would try to access sensitive areas vpm would just throw an access denied exception. I can add a dialog box which can list the scripts to be executed then user can decide if they're harmless. On curated package repo: https://github.com/vvvvpm/vpdb

On deleting files: I'd leave that for the scripts to decide as well. I can add a user prompt in the vvvv install script if they want to delete old files (move to recycle bin) before installation.

soriak 15/12/2016 - 23:28

super interesting! as vpm doesnt require vvvv to be installed beforehand, would it make sense to include the vvvv dependencies of setup.exe in the vpm package of vvvv? or would that require special handling?

microdee 21/12/2016 - 06:56

no, that absolutely makes sense to do, only I didn't have the willpower to do it yet

microdee 22/12/2016 - 08:30

new release 1.2.1 in which app developers now can include license agreements and users can be more aware of them.

mrboni 27/01/2017 - 21:13

I just tried vpm

for some reason it's downloading to the wrong directory. It's placed the .vpm and packs folder in the parent of the vvvv directory. I registered the correct vvvversion

microdee 27/01/2017 - 23:35

hmm strange. what's your vvvv's path?

mrboni 31/01/2017 - 22:19

C:\vvvv\vvvv_50beta35_x64 VPM

microdee 31/01/2017 - 22:59

ok let me test it with directory name with spaces in it
alright tested it and spaces work. are you using latest version?

io 06/02/2017 - 10:25

Is i tpossible to target an arbitrary version of vvvv when installing a pack?

microdee 06/02/2017 - 12:39

well yeah via scripting but you should prompt the user either during licence page or with a console question because it can break stuff for other packs. you can extract a download link from the download section and use that to download the vvvv in the C# script, then in the script just extract and copy + overwrite into the vvvv folder.
or if you want latest alpha just add the vvvv updater vpack from vpdb to the dependencies

anonymous user login


~1d ago

elio: intermediate engineering (hamburg) is hiring: Programmer for Media Installations https://dasauge.de/jobs/stellenangebote/fest/e488192

~3d ago

joreg: one more release candidate for beta36: beta36-release-candidate please test and report #vvvv

~3d ago

stephan_grosse8: we are offering a permanent position for a vvvv programmer. Main focus is on interactive exhibits. mail: stephan@grosse8.de

~4d ago

joreg: @eglod: if not, we're doing something wrong... but did you check any of the other timeline options? animation

~4d ago

andresc4: Sometimes people finalize a project and can donate a good amount that month, but nobody knows what will happen on the next one :D

~4d ago

andresc4: @vux as @eno say, I think a 1 time payment of any given value its a good option also

~4d ago

ggml: where id the vl search algorythm implementation discussion?

~4d ago

eglod: @ catweasel, o.k. may be, I have to learn vl. Thank You catweasel! Is this possible with 84 years, what think You?

~4d ago

catweasel: I guess part of the issue, is payment is $ which means transaction fees on every payement will add up!