Editing referenced VAR packages?

Dragontales

Well-known member
Featured Contributor
Messages
270
Reactions
911
Points
93
Twitter
DragoninkV
Is there any way to edit what VAM and this site view as required VAR packages. I just packaged up this LOOK using only the appearance preset files. I mixed down the morphs and made sure there were no unneeded references other than the hair and eye clothing (wet line, etc). It kept insisting on including some other hair items, clothing and even a lighting rig scene. I finally figured out that the VAR package containing the skin textures I used reference these other items...so they automatically populated over to being needed in my VAR, despite the fact that they weren't actually needed. Is there any way to modify the VAR package to remove those? or somehow sever the connection? I know I 'm pretty anal about how many packages I download and I'd much prefer to have a shorter required references.
 
Thank you to @Juno for his help in directing me to how to edit the .json file inside the Var package, in order to remove the unwanted dependencies. @meshedvr maybe a suggestion for version 2, allow the option during the var creation process to ignore dependencies of referenced dependencies.
 
As alternative without having to edit meta.json:
Would this work in theory to remove unwanted dependencies?

1) Have a 100% clean copy of VAM
2) Copy only your scene/look and the obvious dependencies to it
3) load and check error log
4) if something important fails to load, add it, save & reload
5) ignore unwanted dependency errors and save a fresh copy
6) load copy, check error log to verify its clean
7) pack clean copy to var

The idea is to force VAM to remove the dependencies by making them 'unloadable' and then save a copy of the scene/look that does not reference them.

The question is - does VAM internally remove all references if not loadable?
I'm pretty sure it would, but not 100%. Maybe somebody can confirm?

The obviously disadvantage is - you'll have to waste ~21 GB drive space for the clean VAM copy.
 
Last edited:
As alternative without having to edit meta.json:
Would this work in theory to remove unwanted dependencies?

1) Have a 100% clean copy of VAM
2) Copy only your scene/look and the obvious dependencies to it
3) load and check error log
4) if something important fails to load, add it, save & reload
5) ignore unwanted dependency errors and save a fresh copy
6) load copy, check error log to verify its clean
7) pack clean copy to var

The idea is to force VAM to remove the dependencies by making them 'unloadable' and then save a copy of the scene/look that does not reference them.

The question is - does VAM internally remove all references if not loadable?
I'm pretty sure it would, but not 100%. Maybe somebody can confirm?

The obviously disadvantage is - you'll have to waste ~21 GB drive space for the clean VAM copy.
I'm not sure if that would work, but editing the json file is quite easy once you know what to do with it. takes about a minute or less. The main issue is that VAM keeps track of dependencies. So if I use a look from someone else that also has a scene in their file with some other dependencies, my var package will not just reference that other var, but any dependency that it also has. Other than removing them manually through editing the .json file, I don't know if any other method would resolve this.
 
I've replied in the discussion tab of this guide, but as it's nearly invisible for other people I'll add the answer here as well for future reference:
I used the skin textures from someone else's look (var package) and that var package is referencing several other items that my look doesn't use. However those dependencies are carrying over to my VAR, even though the appearance preset doesn't reference them in any way.
Yes, if your package refers to at least a component of a VAR, it will have a dependency to said VAR. And even if it uses only one thing, it will requires all the dependencies of this VAR. Those are "cascading dependencies".

It's quite logical: you depend on a VAR for your package to work, so this VAR has to work as well... and it relies on some dependencies for this, so you'll need them too.
VAM won't "guess" which dependencies are really useful for your package.


Is there a way to sever that connection?
Well, there are 2:
  1. The clean and proper one: ask the creator of the VAR you're using to make a "skin-only" package. Or offer to make one for them, with appropriate credits. And then of course use this package instead.
  2. The unclean and not to do: unpack the skin and repack it in your VAR. Which is in direct contradiction of the rule described in this guide:
Never ever make a package out of stuff you've extracted from a VAR. Extracting a VAR is a bad idea in the first place.
  • If you use external stuff that were initially not packaged into a VAR, ask the creator if they could make it as a VAR. This would avoid to repack it each time somebody want to use it and will contribute to a better Hub :)

It's true that editing the JSON file would be a 3rd solution, but it's not the cleanest way. People will still need to download the 1st dependency, and this one will require the dependencies you've removed from your own VAR anyway (otherwise it's trigger errors on VAM load).
 
Back
Top Bottom