Dependency Problems

Mhunter047

Active member
Messages
43
Reactions
130
Points
33
I have created a lot of scenes and now finally have one that I think is worth sharing. So... I am trying to clean out all of the erroneous dependencies. I have been reading through the forum about how to do this and how to create a good VAR. I have learned about how you should build scenes in a clean version of VAM, but this scene is way too involved and complicated to start all over in a clean build. I have hours and hours in this scene.

So, I am chasing down some dependencies that are actually pulling from other scenes, one is even a paid scene. I have found several and fixed them in the morphs, I had to go through every pose for both characters and clean them. I have a few left and I just don't know where to look anymore. Any hints on how to find this needle in a haystack?

Thanks!
 
Unfortunately, the Package Manager does not have a reverse lookup. You can find out what's called by a given package, but you can't easily find out what packages call a specific thing. For morphs, you can show only active morphs on your figure, then search for that morph name and turn off active only. You may have done this already. Once a matching built-in is found, just zero out the active one and set that value into the built-in one. I call this cleaning the dials.

Hair items are a big issue, because you may have grabbed one from a scene or a look with lots of dependencies, but the original hair item is available standalone. Again, search for the name and switch the scene to the minimal item.

I created a new version of the Adventurer scene. Vam wants to pull in everything from the original scene even though I deleted many of those items. After making an update to the scene, now I have to go back and weed them out again, because I missed that on the update.

The frequent recommendation is to test a newly built var in a clean install, not necessarily to build one there. That way, you know exactly what it needs to download.
 
I have learned about how you should build scenes in a clean version of VAM, but this scene is way too involved and complicated to start all over in a clean build. I have hours and hours in this scene.
In that case don't use a clean VAM to re-build your scene - use it to test your packaged scene build in your main VAM loads without errors.

So, I am chasing down some dependencies that are actually pulling from other scenes, one is even a paid scene. I have found several and fixed them in the morphs, I had to go through every pose for both characters and clean them. I have a few left and I just don't know where to look anymore. Any hints on how to find this needle in a haystack?
This can be solved by loading your packaged scene in a clean VAM too.
Because all dependencies are missing in clean VAM (unless you know they are required and you copy them over by hand) you will get a nice list of errors / hints in VAMs message log.

build strategy:
  1. Use main VAM Package Builder to create the package as good as you can.
  2. Copy new package to clean VAM\AddonPackages
  3. From main VAM\AddonPackages copy only dependencies to clean VAM\AddonPackages that you know that are required by your scenes, ignore unwanted dependencies
  4. Start clean VAM > red error message log should be empty > load packaged scene
  5. Check error message > copy them to remember > exit
  6. Read errors > Any required dependencies that you know you have missed? > repeat 1-6 but add missing dependencies
7. Finding the needle in the haystack - unwanted dependencies:
You should now be at a point where either have no errors or only errors from unwanted dependencies.
Open your var in WinRAR or 7Zip and extract Saves\scene\<scene>.json.
Open <scene>.json with a text editor. (If you have one that support json syntax highlighting that would perfect - that's optional.)
Take a look around. This file describes the scenes just in text form. You will find paths like this.
Example: "url" : "SELF:/Custom/Images/boobs.jpg",
That path correctly links to an image I packaged in the var. If that would not start with SELF or another VAR it's referencing an unpackaged file.

Now use the remaining errors as hint to search <scene>.json for your unwanted dependency.
Once you find it, either manually edit this file (if you're confided) or follow it's hierarchy to find out why VAM does reference the content and then remove it in VAM. Second option is safer, but would require to start from beginning to generate a corrected <scene>.json.
Assuming you edited/removed a bad reference manually you would then move <scene>.json back into the var > restart clean VAM to make sure it's aware of the var's new content > check for errors again

8. verify meta.json dependencies if you manually edited:
Extract meta.json from the packaged var's root folder > open in texteditor.
The meta.json file contains dependency info that lets the VAM hub know what the user needs to download for the scene to work.
If you know you removed something that is still in the list - it must also be removed here.
Otherwise the packaged var would list a dependency that's not actually used.

Example assumes I manually removed a pattern texture and no longer need Sally.PatternTextures:
Code:
   "dependencies" : {
      "Sally.PatternTextures.latest" : {
         "licenseType" : "CC BY-NC",
         "dependencies" : {
         }
      },
      "AcidBubbles.Timeline.282" : {
         "licenseType" : "CC BY-SA",
         "dependencies" : {
         }
      }
   },
... becomes:
Code:
   "dependencies" : {
      "AcidBubbles.Timeline.282" : {
         "licenseType" : "CC BY-SA",
         "dependencies" : {
         }
      }
   },
Pay attention to correct use of commas. Any typo here will break the dependencies on the hub.
Save > move meta.json back into var > upload > verify online dependency list on hub

9. Remove temporary test files from clean VAM for future use
 
Last edited:
@Sally Whitemane and @SlimerJSpud , thank you both for the help. Using you all's advice I was able to clear out the erroneous dependencies and now I am down to just removing the tonnage of stuff I put in. I really appreciate the help! I was about to give up.

MH
 
Back
Top Bottom