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


tool vpm standalone
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 with 7-zip. Extracting with the windows/file explorer vanilla unzipper will put vpm in sandboxed mode and it can't load modules for scripts in sandboxed mode. 7-zip ignores this.
  • 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 - 10: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 - 17: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 16/12/2016 - 00: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 - 07:56

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

microdee 22/12/2016 - 09: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 - 22: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 28/01/2017 - 00:35

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

mrboni 31/01/2017 - 23:19

C:\vvvv\vvvv_50beta35_x64 VPM

microdee 31/01/2017 - 23: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 - 11:25

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

microdee 06/02/2017 - 13: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

SuperflysiNZ 23/03/2018 - 12:21

I'm getting this error:

Parsing input Pack
Input pack is dx11-vvvv
Input pack seems to be already existing as dx11
Do you want to overwrite? (Y or N)
Initializing dx11-vvvv
Temp folder created successfully:
Initialization complete.
Installing dx11-vvvv
Compilation error:
(7,11): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)
(28,24): error CS0103: The name 'JArray' does not exist in the current context
Press any key to exit...
Removing vpm temp folder.
Killing GUI

I'm not sure what's wrong, I am running the latest alpha...

microdee 23/03/2018 - 13:57

unzip latest vpm with 7-zip. windows vanilla unzipper puts executables and dll's into sandboxed mode, so vpm can't load DLL's for the scripts (like the json.net dll's). I can only guarantee 7-zip to not flag files as sandboxed, other programs might do as well. (this is the same as with vvvv you shouldn't unzip it with the vanilla explorer.exe unzipper)

SuperflysiNZ 25/03/2018 - 22:46

Yup, that worked, thanks!

hrovac 15/04/2018 - 12:26

Hi Microdee,

this tools sounds interesting,
i downloaded and installed it
then i started to download the 1st pack - my pc freezed - restart . again . freezed

i downloaded a fresh vanilla beta36 with addonpack
trying to install dx11pack via vpm doesnt work again :(
i have this error messages:

vpm said
vpm at your service!
Found a VVVV in registry.
Parsing input Pack
Input pack is dx11-vvvv
Initializing dx11-vvvv
Temp folder created successfully:
Initialization complete.
Installing dx11-vvvv
Compilation error:
(7,11): error CS0246: The type or namespace name 'Newtonsoft' could not be found

 (are you missing a using directive or an assembly reference?)

(28,24): error CS0103: The name 'JArray' does not exist in the current context
Press any key to exit...
Removing vpm temp folder.
Killing GUI

can you pls help me out on this?


microdee 15/04/2018 - 18:45

read 2 comments above. the freezing part is extreme I never met with that not even on others computers. In theory vpm shouldn't do anything which would freeze the entire system.

hrovac 15/04/2018 - 19:11

im using 7zip, always.

i was able to install one pack (vvvv-time)
all other i tried are producing error messages
for example:

vpm at your service!
Found a VVVV in registry.
Parsing input Pack
Input pack is mp.fxh
Initializing mp.fxh
Temp folder created successfully:
Cloning git repository of mp.fxh
To: X:\NODE\v4\vvvv_50beta36_x64\.vpm\mp.fxh
Cloning: X:\NODE\v4\vvvv_50beta36_x64\.vpm\mp.fxh /

Something went wrong:
user cancelled certificate check:

   bei LibGit2Sharp.Core.Ensure.HandleError(Int32 result) in c:\projects\libgit2

sharp\LibGit2Sharp\Core\Ensure.cs:Zeile 136.

   bei LibGit2Sharp.Core.Proxy.git_clone(String url, String workdir, GitCloneOpt

ions& opts) in c:\projects\libgit2sharp\LibGit2Sharp\Core\Proxy.cs:Zeile 355.

   bei LibGit2Sharp.Repository.Clone(String sourceUrl, String workdirPath, Clone

Options options) in c:\projects\libgit2sharp\LibGit2Sharp\Repository.cs:Zeile 73

   bei vpm.VpmUtils.CloneGit(String srcrepo, String dstdir, Boolean submodules,

String branch) in C:\projects\vpm\src\vpm\utils.cs:Zeile 517.

   bei vpm.VPack.CloneFromGit(Boolean submodules) in C:\projects\vpm\src\vpm\vpa

ck.cs:Zeile 213.

   bei vpm.VPack..ctor(String name, String source, IEnumerable`1 aliases, XmlDoc

ument srcxml) in C:\projects\vpm\src\vpm\vpack.cs:Zeile 95.

   bei vpm.Program.Main(String[] args) in C:\projects\vpm\src\vpm\Program.cs:Zei

le 114.
Removing vpm temp folder.
Killing GUI
Press any key to exit...

microdee 15/04/2018 - 22:04

"user cancelled certificate check"

this is very weird. if you have git installed can you check what it gives you in the command line in an empty folder?

git clone https://github.com/microdee/mp.fxh.git
bo27 19/04/2018 - 18:14

vpm is great demotivational tool.
one of best I ever saw. why?

microdee 19/04/2018 - 18:36

what does it demotivates from?

anonymous user login


~0min ago

joreg: @Tamoeba odd if so. so you don't have an LFO or MonoFlop node

~20h ago

sagishi: any vvvv wizardry going on at ADAF in athens this week?

~20h ago

vux: Freshly released, DirectX11 v1.3 directx11-1.3-update

~2d ago

weareallclowns: has anyone used avr-gcc with vvvv? thinking about uploading a vvvv sketch to arduino

~3d ago

motzi: @udo2013: you can't change the resolution of the standard DX11 renderer (res=window size). use temptarget renderer + preview instead

~3d ago

Tamoeba Kale: Is it possible that i am missing thew whole "animation" category nodes? how?

~4d ago

udo2013: hello. is there a way to change the fullscreen resolution of renderer dx11? found no possibility + can not be opened.

~4d ago

tekcor: @joreg vl.glTF loader looks intense inside, but is red in b36.

~5d ago

MultiNIL: @joreg sure!

~5d ago

joreg: @MultiNIL supa! can we have this as a gallery entry? 24