A long, long update:
I think I finally have this down to a list I am okay with. It's longer than I expected, but I AM using a lot of plugins, so I'm okay with it. I figured I'd post what I ended up going through so anyone else that is looking for advice can know that misery loves company!
I started with the advice above: Filter morphs down to "Only Active" and trim out anything purple and blue you can find. Purple was easy: I didn't seem to have any.
Blue was trickier. As I understand it, these are morphs that exist in your Custom folder somewhere (thanks for the explanation Syrinxo and Acid Bubbles, I never knew what the colors meant!) I found that I had a number of these, which I think means that I have a lot of decompressed var packages in my Custom folder. This makes sense, since in the beginning days of VaM, I really didn't install packages the right way. Yesterday's adventure in dependencies makes me want to reinstall the software and start CLEAN with nothing in my Custom folder.
Anyway, I got those cleaned up as best as possible, but still had a mean list of dependencies. That's when I came across some posts in other threads that pointed me in the right direction. Unsurprisingly, the three people above were all over those comments as well, and those posts helped a LOT here. When you build your package, the three files that helped me the most were the
meta.json found at
VaM_Install_Path\AddonPackagesBuilder\PackageName.var\ the actual
scene.json file at
VaM_Install_Path\AddonPackagesBuilder\PackageName.var\ Saves\scene\creator_name\ and the actual
depend.txt file found with your package in the
AddonPackages folder after creation.
I used the depend.txt file to first get my list of dependencies that were still there. I found a long list in a text file much easier to browse than the tiny scrolling box in the package builder. I would identify a package I didn't know or wanted to get rid of, then I would open the meta.json file. This file was GREAT because it actually shows the nested hierarchy of why the packages are included. In my case, I have a dependency on MacGruber's Life 12, but for some reason, I found that I also needed Life 10. I knew this was because something else had to be referencing it, but I just couldn't tell what. The meta.json helped me identify this. In the end, half of the dependencies ended up being down to three packages that each had a half dozen or more dependencies of their own.
Once I'd narrowed down which root package was causing the problem, then I needed to find out where I was referencing THAT package in my scene. This is where the build scene's json file helped, where doing a search by parts of the package name pointed to how it was being used in my scene. In this particular example, I had somehow gotten a belly button morph from a "Wolverine333.Barbie" package, and that package has a pile of its own dependencies, Life 10 being one of them. Keep in mind, some of these packages could be red in your morphs. Mine certainly were. It was just a matter of either zeroing them out, or finding another morph that I could use instead.
I went through each dependency I was trying to get rid of, found the culprit morph (don't forget to check ALL characters in your scene, like me, the dunce who forgot to.) I then went to it and followed the advice above (set to default, reset range, refresh "Only Active" checkbox to make sure it's gone.)
So that really was the process I went through. I had an additional tricky situation though that might be worth mentioning.
Since I am Using Macgruber's Life for breathing animation, it was constantly adjusting the above-mentioned belly button morph. I am guessing that it looks at any morphs you have active with certain references that it uses for breathing (stomach/mouth/nose/etc) and then modifies them based on the algorithm he has in his code. Unfortunately, it makes those morphs difficult to get rid of once it has a hold of them. I tried just disabling the plugin and zeroing the morph, but as soon as I turned the plugin back on, it grabbed the morph again. I ended up just removing the plugin, wiping out the morph, then re-adding the Life plugin, and it didn't grab it again. I doubt this is considered a "bug," but it's worth noting that more "active" plugins might hold onto morphs that you may be trying to get rid of.
Edit: After digging deeper, I realized that the Life plugin's breathing animation was strong enough to move another part of the character's body that was being used by ANOTHER plugin. This other plugin had was capable of using a single morph, and THAT morph has a long list of another dozen dependencies. The plugin itself (Extra Auto Genitals) did not list any dependencies, but since it was modifying a morph that I had that DOES have a long list of dependencies, I was led down a long rabbit hole. I guess the takeaway here is investigate each and every plugin you use, even if they themselves don't have dependencies!
So there's my story. After going through the process, I can definitely say that all of the advice about keeping your dependency list short is
very sound. That said, I think what might be lacking is just
how to do that. The next time I make a scene with looks from other sources (and we all have a lot of them, I'm sure) the very first thing I will do is check that dependency list and trim it down. Before I pose anyone. Before I animate anything. Before I pick a custom Unity asset room to plop them into. If it isn't paid content and I intend to share my work when finished, trimming down dependency on any asset has to be job number one.
Thank you again to the people above for your help here, and in other people's threads on the same subject. I'm still not exactly sure how I am going to export my animations from Timeline for use with Soundtrack Sync, so if anyone has advice there, I would still appreciate it! But for the bigger, and harder questions around cleaning up dependencies and getting rid of content that I shouldn't use anymore, you three have been
invaluable to this noob. I really appreciate all you do for this community!