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:
- Use main VAM Package Builder to create the package as good as you can.
- Copy new package to clean VAM\AddonPackages
- From main VAM\AddonPackages copy only dependencies to clean VAM\AddonPackages that you know that are required by your scenes, ignore unwanted dependencies
- Start clean VAM > red error message log should be empty > load packaged scene
- Check error message > copy them to remember > exit
- 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