This post may only make sense for people familiar with working in VAM.
tl;dr - I am going to go back and clean up all of my released scenes. I am going to find any VAMHub missing dependencies (Dependency rot), and I am going to cull their dependency lists to minimize the number of dependencies required (sub-dependency explosion).
As many of you certainly know, VAM has dependency issues. The way I see it, there are two problems with the dependency system which affect the playability and long-term stability of my content: dependency rot, and sub-dependency children explosion. Here's what I mean, and how I intend to address them both.
Dependency rot
Dependency rot happens when a dependency previously freely hosted on VAMHub suddenly disappears. Many of you I'm sure have experienced this yourself, encountering the dreaded red "Not On Hub" button. The older a VAM scene gets, the more likely it is that at least a few of its dependencies will have simply perished from VAMHub. gone forever. If you've loaded up my older scenes and noticed hair, clothing, etc just missing, that's dependency rot.
Sub-dependency children explosion
Sub-dependency children explosion is the inevitable consequence of the somewhat dubious system VAM employs in detecting and cataloguing dependencies. Here is what a typical .var looks like,
If we were to use assets from Bourbon321.Becky.1, even if it were ONLY content located in that .var, VAM considers every single sub-dependency to now be a dependency. If you've ever wondered why it seems like you're missing even more dependencies, after downloading a bunch, this is why. If you're not careful, eventually the entirety of the Hub will be a sub-dependency of a sub-dependency of sub-dependency... the sub-dependency children explosion.
The Cleanup Project
Over the next few weeks, I am going to go back through all of my old scenes and suss out any dead dependencies and see if I can rehost them myself. Unfortunately, this is the only solution, short of me hosting my entire AddonFolders folder...
I will also carefully cull all of my old scenes' dependency lists for any sub-dependencies, keeping only dependencies which actually contain content used in my scenes, also, some of my older scenes mistakenly and frustratingly reference themselves, rather than the original primary dependency.
What's the point?
Ultimately, I would like all of my scenes to remain fully functional, and to play exactly the same way today as they did when they were first released.