» 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


~15min ago

joreg: wanna learn #vvvv from scratch? here is a chance: vvvv-academy-winter-course-2018

~1h ago

~23h ago

keftaparty: @circuitb already tried, no luck with them... Thanks anyway.

~1d ago

keftaparty: Show tonight, thanks !

~1d ago

keftaparty: Urgent: does anyone know a wireless video transmission specialist in Paris. Having crazy problems here. Using Teradek hardware.

~2d ago

r.a.u.l.: I found some workarounds to get some output, but I‘ll prepare a patch that shows the different issues

~2d ago

joreg: @raul can you provide a patch that shows this in a new forum thread?

~2d ago

r.a.u.l.: FileStream (EX9) in Preview-Node works, but patching VideoTexture/FullscreenQuad/Renderer is black.. ideas? It works elsewhere :-(

~2d ago

aoi: Would you be willing to choose some days to write an article in this calendar in English or Japanese? https://qiita.com/advent-calendar/2017/vvvv