VAR Manager

Other VAR Manager

I just found this looking for another solution, and wonder if it might be able to help me out? I've been doing some creating of looks and appearances, and thinking of sharing them via the hub, but I'm having a difficult time with numerous errant dependencies that don't exist in my looks or scenes, as far as I can tell. Could this tool help with that, and how? Or is there another tool I should have? TIA!
 
The tool that could help is me lol.
You could reply to this thread and attach the meta.json file that is in the var, and the .vap appearance file or .json scene file and I can take a look.
 
Last edited:
The tool that could help is me lol.
You could reply to this thread and attach the meta.json file that is in the var, and the .vap appearance file or .json scene file and I can take a look.
I'll get to that tomorrow. I read thru the whole scene json file briefly, and I could not find any references to the files it thinks are references. Stuff I thought I meticulously removed from my remixed appearance! Since I didn't finalize the package, I'm not sure any other files get added to the var at that point, but the scene json and preview pic were the only files in the "prepped" package folder? I am aware that there will be a created manifest file of some sort when I finalize it. I had a clean default scene before I loaded the appearance preset I had saved.
 
In your VAM directory you should see the folder AddonPackagesBuilder. This would have a folder for the .var you were creating with the meta.json file, and all the other files prepped for your .var package.
 
In your VAM directory you should see the folder AddonPackagesBuilder. This would have a folder for the .var you were creating with the meta.json file, and all the other files prepped for your .var package.
Yes, but again, I only have 2 files in there after the prep phase where it listed all of the dependancies and complained that I had material that had an ND license, which I'm fairly certain I eliminated? I don't think the meta.json file gets made until you finalize the package? It's not in there anyway. I've attached a zip file containing the json and jpg for the scene, which I didn't bother to give a proper name yet. Note that although it has the var extension (so I could attach it), it's really just a zip file I made outside of VAM. Let me know if you'd like me to try finalizing the package in order to get the meta.json file, and I'll do that and attach it for you.
 

Attachments

  • scene.var
    19.4 KB · Views: 0
Yes, but again, I only have 2 files in there after the prep phase where it listed all of the dependancies and complained that I had material that had an ND license, which I'm fairly certain I eliminated? I don't think the meta.json file gets made until you finalize the package? It's not in there anyway. I've attached a zip file containing the json and jpg for the scene, which I didn't bother to give a proper name yet. Note that although it has the var extension (so I could attach it), it's really just a zip file I made outside of VAM. Let me know if you'd like me to try finalizing the package in order to get the meta.json file, and I'll do that and attach it for you.

Strange, well I found a few things in that scene:
  1. You are referencing Wolverine333.AMBER.latest for the Glute scale Z morph.
    1. Do not use Wolverine333 files in your looks or scenes, especially the old packages. They are riddled with messed up dependencies.
      1. In fact, I recommend removing them entirely from your installation, the old ones anyway.
    2. You can replace this morph with the same one from this package: https://hub.virtamate.com/resources/import-reloaded-lite.77/
  2. When creating looks the best way to clean up dependencies is to merge the morphs you used to remove the dependencies for the morphs. There are morph merging plugins that will merge any morphs you used into new morphs that simplify your look.
    1. This is the morph merger I use, add it to your model and use the plugin to take all morphs used and create 3 new morphs with your chosen name: Head, Body and Genital.
      1. https://hub.virtamate.com/resources/morph-merge-and-split.15048/
    2. You can click Reload custom morphs in the morphs tab to get the newly created morphs to show up.
    3. Then, you can zero all Morphs and just add the 3 newly created morphs.
 
Strange, well I found a few things in that scene:
  1. You are referencing Wolverine333.AMBER.latest for the Glute scale Z morph.
    1. Do not use Wolverine333 files in your looks or scenes, especially the old packages. They are riddled with messed up dependencies.
      1. In fact, I recommend removing them entirely from your installation, the old ones anyway.
    2. You can replace this morph with the same one from this package: https://hub.virtamate.com/resources/import-reloaded-lite.77/
  2. When creating looks the best way to clean up dependencies is to merge the morphs you used to remove the dependencies for the morphs. There are morph merging plugins that will merge any morphs you used into new morphs that simplify your look.
    1. This is the morph merger I use, add it to your model and use the plugin to take all morphs used and create 3 new morphs with your chosen name: Head, Body and Genital.
      1. https://hub.virtamate.com/resources/morph-merge-and-split.15048/
    2. You can click Reload custom morphs in the morphs tab to get the newly created morphs to show up.
    3. Then, you can zero all Morphs and just add the 3 newly created morphs.

  • You are referencing Mamo wot.Kaori.1 which itself has a messed up dependency. It is referencing with licencseType MISSING which is incorrect.
  • If you need to reference this Mamo wot.Kaori.1 file, I would recommened updating the meta.json within that var package.
    • Just open it up Mamo wot.Kaori.1.var in 7-zip or something and replace the meta.json with the one I attached with the fixed reference
 

Attachments

  • meta.json
    1.5 KB · Views: 0
I have made some progress now in getting rid of erroneous dependencies. I have had a ton of startup error messages in vam lately, I finally took to the time to fix them, mainly by deleting var files that were causing the errors. I still have one item that I think should not be there, but since my cleanup, some of the packages that I deleted apparently had morphs in them that I was using, so now I need to fix that first! This happened before reading the last 2 replies, which look to have some great advice I need to implement. I've already eliminated most of the wolverine stuff.
 
  • You are referencing Mamo wot.Kaori.1 which itself has a messed up dependency. It is referencing with licencseType MISSING which is incorrect.
  • If you need to reference this Mamo wot.Kaori.1 file, I would recommened updating the meta.json within that var package.
    • Just open it up Mamo wot.Kaori.1.var in 7-zip or something and replace the meta.json with the one I attached with the fixed reference

BIll, that Emissive Eye Reflection is the one thing left that I wanted to get rid of, due to the NC license option. If I get good enough to maybe make a little cash at some point, I want to start up front now by not using anything with NC, ND, or PC(-EA) licenses. I already had several appearance remixes I did where I found a couple perfect morphs that worked really well for me, but then I realized I could not rightfully use them in something that might have a commercial license for! Not that I won't still use them for my own enjoyment though!

Question: When I load a scene or look that complains about missing morphs, does simply resaving the scene or appearance set clear out the entry for that missing morph? Seems hit and miss. I'll save the scene, restart and load it, no error messages. Try loading it again and the error message comes back!

Also, I managed to make a var file while I thought I had posted this message already, but apparently I didn't, so I've attached my very first successful? package, any comments welcome!

Dependencies:

ceq3.MorphMergeAndSplit.2 By: ceq3 License: CC BY
MeshedVR.3PointLightSetup.latest By: MeshedVR License: CC BY
NoStage3.Hair_Long_Upswept_Top_Bun.latest By: NoStage3 License: CC BY Link: https://www.patreon.com/posts/34411659
Tomynator.3_Pack_Hair.latest By: Tomynator License: CC BY Link: https://www.patreon.com/Tomynator

Apparently the 3point light setup has a dependency on the nostage hair item for some reason?
 

Attachments

  • Toolman.test1pkg.2.var
    342.8 KB · Views: 0
BIll, that Emissive Eye Reflection is the one thing left that I wanted to get rid of, due to the NC license option. If I get good enough to maybe make a little cash at some point, I want to start up front now by not using anything with NC, ND, or PC(-EA) licenses. I already had several appearance remixes I did where I found a couple perfect morphs that worked really well for me, but then I realized I could not rightfully use them in something that might have a commercial license for! Not that I won't still use them for my own enjoyment though!

Question: When I load a scene or look that complains about missing morphs, does simply resaving the scene or appearance set clear out the entry for that missing morph? Seems hit and miss. I'll save the scene, restart and load it, no error messages. Try loading it again and the error message comes back!

Also, I managed to make a var file while I thought I had posted this message already, but apparently I didn't, so I've attached my very first successful? package, any comments welcome!

Dependencies:

ceq3.MorphMergeAndSplit.2 By: ceq3 License: CC BY
MeshedVR.3PointLightSetup.latest By: MeshedVR License: CC BY
NoStage3.Hair_Long_Upswept_Top_Bun.latest By: NoStage3 License: CC BY Link: https://www.patreon.com/posts/34411659
Tomynator.3_Pack_Hair.latest By: Tomynator License: CC BY Link: https://www.patreon.com/Tomynator

Apparently the 3point light setup has a dependency on the nostage hair item for some reason?

Looks fine, don't worry haha.
3PointLight and that hair is included in VAM I believe, so nothing to bother with there.
Only comment is you can remove the ceq3.MorphMergeAndSplit plugin from your model after you are done exporting the morphs to get rid of the dependency.
 
@bill_prime: Greatly appreciate all the skill and effort you put into this tool, but I have a couple question before I fully commit my workflow:

1) I'm a bit worried about increased SSD lifetime degradation - the tool's design philosophy basically revolves around moving A LOT of files pretty often, depending on situational needs (character design, scene creation, scene play etc) - Question: Have you monitored your drive's expected lifetime diagnostic over time?

2) I'm a bit confused about the details of how the Specific Backup/Restore window works - what's with the OR/AND/NOT columns? A little more text & examples would go a long way helping me.

3) Why move files and not softlinking?

Again, thanks for all your hard work and for sharing!
 
@bill_prime: Greatly appreciate all the skill and effort you put into this tool, but I have a couple question before I fully commit my workflow:

1) I'm a bit worried about increased SSD lifetime degradation - the tool's design philosophy basically revolves around moving A LOT of files pretty often, depending on situational needs (character design, scene creation, scene play etc) - Question: Have you monitored your drive's expected lifetime diagnostic over time?

2) I'm a bit confused about the details of how the Specific Backup/Restore window works - what's with the OR/AND/NOT columns? A little more text & examples would go a long way helping me.

3) Why move files and not softlinking?

Again, thanks for all your hard work and for sharing!

1) Moving files on the same drive is not actually moving anything, the operating system is smart and it doesn't actually move data just the pointer to the file. If you are moving files to a different drive, that would be an issue, but you could create softlink files for those and use var manager with those files on the same drive very easily.

2) Specific Backup/Restore moves vars that contain specific type(s) of resources. You could restore all vars contain Hair for example. Or, you can do more complicated things like:
  • Restore all vars containing Hair AND Scenes
  • Restore all vars containing Hair NOT Scenes
  • Restore all vars containing Clothing AND Clothing Presets
  • Restore all vars containing Hair OR Clothing
  • Backup all vars containing Hair OR Clothing OR etc. etc. etc. (all checkmarks, click the OR header)
    • This will essentially backup/move all your vars
3) See 1. Also it's cleaner and simpler.
 
Hey! Thanks for the speedy & detailed reply!

1) Moving files on the same drive is not actually moving anything, the operating system is smart and it doesn't actually move data just the pointer to the file. If you are moving files to a different drive, that would be an issue, but you could create softlink files for those and use var manager with those files on the same drive very easily.

Oh! I didn't know that! So basically, Windows treats everything as softlinks anyhow?

Yeah, I have a lot of "less-critical files" on a secondary SATA-SSD (primary is a nvme 1Tb 980 Evo Pro - don't want that pricey puppy to degrade too fast ...), linked into my primary drive via junctions (similar to folder-softlinks). I could easily remove the junctions and softlink the individual files ... but ... I guess I'll have to give up on feelfar's tool altogether (it automatically sorts vars into folders by author).

Whelp, I've already tested using both tools together, and ... they quickly creates an unholy mess. It's one or the other.

Ok, that's a big relief. Thanks.

P.S.: If you're ever in need for some inspiration for GUI-ideas: Feelfar has done a good job on that one. It's a bit buggy, the documentation is just tooltips & it lacks the bulk sorting & linking features that make your tool a better fit - but the gui is well-designed for having a closer look at individual files (eg. offers quick overview of dependencies & dependent files for each individual .var)


.re 2) Oh! Yeah, makes sense. Thanks!

3) D'oh!
 
Hey! Thanks for the speedy & detailed reply!



Oh! I didn't know that! So basically, Windows treats everything as softlinks anyhow?

Yeah, I have a lot of "less-critical files" on a secondary SATA-SSD (primary is a nvme 1Tb 980 Evo Pro - don't want that pricey puppy to degrade too fast ...), linked into my primary drive via junctions (similar to folder-softlinks). I could easily remove the junctions and softlink the individual files ... but ... I guess I'll have to give up on feelfar's tool altogether (it automatically sorts vars into folders by author).

Whelp, I've already tested using both tools together, and ... they quickly creates an unholy mess. It's one or the other.

Ok, that's a big relief. Thanks.

P.S.: If you're ever in need for some inspiration for GUI-ideas: Feelfar has done a good job on that one. It's a bit buggy, the documentation is just tooltips & it lacks the bulk sorting & linking features that make your tool a better fit - but the gui is well-designed for having a closer look at individual files (eg. offers quick overview of dependencies & dependent files for each individual .var)


.re 2) Oh! Yeah, makes sense. Thanks!

3) D'oh!

Right on, I wasn't aware of that other tool, that is an interesting approach will have to read up on it a bit.
The GUI in VAR Manager started simple but I am not super happy with where it is at now, after adding many little features here and there I ran out of space.
I might review it someday, but it gets the job done.
 
Can it delete old version of vars? Like:
AcidBubbles.Timeline.275 AcidBubbles.Timeline.276 AcidBubbles.Timeline.277 AcidBubbles.Timeline.278 etc?
 
Can it delete old version of vars? Like:
AcidBubbles.Timeline.275 AcidBubbles.Timeline.276 AcidBubbles.Timeline.277 AcidBubbles.Timeline.278 etc?

Yes.
1686232272898.png


It will move the vars to a new folder in your VAM directory called _oldvars
**It will only move the vars if they are unreferenced. Some scenes reference specific versions of scripts etc. so it will not move those.
 
Yes.
View attachment 254508

It will move the vars to a new folder in your VAM directory called _oldvars
**It will only move the vars if they are unreferenced. Some scenes reference specific versions of scripts etc. so it will not move those.

it's not fully functional i think because it only moves 17 vars from 30000 vars and i checked if there is old vars it's still there. No way everything referenced from 30000 vars.

example it didn't move this to old vars:
1686244536838.png


Could you please make this better? thanks!
 
Each and every time I attempt to use it, the latest version I mean, it keeps asking me to download runtime yet I think I've installed them all by now. Lmao. And when it asks me if I want to download it? I click yes and nothing happens.
 
Ummh,bill
it's not fully functional i think because it only moves 17 vars from 30000 vars and i checked if there is old vars it's still there. No way everything referenced from 30000 vars.

example it didn't move this to old vars:
View attachment 254574

Could you please make this better? thanks!

Yup, same here. Feelfar's varmanager is buggy as hell, but it does shovel "stale" .vars out of your installation reliably. From what I can see, about 10& of my massivly bloated repository are "stale" (neither referenced, nor latest version).

That seems reasonable. 17 vars out of 30000, otoh ... not so much.

Mind you, automatic removing of "stales" from your active installation is a "secondary" function (after the deliberation moving), but an important one. Improves the health of the installation (Just yesterday, someone asked me why I didn't get a specific error hiffen in an old version of a popular scene ... whelp :D).

Shame - it's a great idea, and has some advantages over the other tool in its design, but that's little use if it doesn't do the job ...
 
Last edited:
Ummh,bill


Yup, same here. Feelfar's varmanager is buggy as hell, but it does shovel "stale" .vars out of your installation reliably. From what I can see, about 10& of my massivly bloated repository are "stale" (neither referenced, nor latest version).

That seems reasonable. 17 vars out of 30000, otoh ... not so much.

Mind you, automatic removing of "stales" from your active installation is a "secondary" function (after the deliberation moving), but an important one. Improves the health of the installation (Just yesterday, someone asked me why I didn't get a specific error hiffen in an old version of a popular scene ... whelp :D).

Shame - it's a great idea, and has some advantages over the other tool in its design, but that's little use if it doesn't do the job ...
That is strange, the function works for my installation every time.
I even downloaded all the versions of the Zin.Elin resource to test it out, and it moved all old versions as expected.
I just don't have enough info to debug what the issue might be. Any screenshots of var manager before you click the button?
 
That is strange, the function works for my installation every time.
I even downloaded all the versions of the Zin.Elin resource to test it out, and it moved all old versions as expected.
I just don't have enough info to debug what the issue might be. Any screenshots of var manager before you click the button?

Ummmh - I'm currently trying hard to understand how a screenshot would help you, and the importance of the moment before I click "the button"? Wouldn't eg a copy of the sqlite-db the other tool produces be more helpful? It's at searchable, at least?

Sorry - sleep-madness. It's like watching your brain shut down for tens of seconds at a time (Oddly relaxing, though ...)
 
Each and every time I attempt to use it, the latest version I mean, it keeps asking me to download runtime yet I think I've installed them all by now. Lmao. And when it asks me if I want to download it? I click yes and nothing happens.
Exact same issue for me.
 
Back
Top Bottom