If that's not the key, add some logging in that loop and see what's available in the storables, that could expose right storable Id.
You can also take another approach and look for a known value and reverse check the key from the value. That's usually how I check what's available when I'm...
This is a theory, not tested, but give it a try:
const float FreeValue = 254f / 255f;
void FreeClothing(Atom atom)
{
foreach (string id in atom.GetStorableIDs())
{
JSONStorable s = atom.GetStorableByID(id);
if (s == null) continue;
JSONStorableAction act =...
Get a good coding agent. I recommend Anthropic's Claude, use Sonnet 5.5 to keep it relatively cheap and helpful, then give them this prompt:
You are my patient software mentor and pair-programmer. I am NOT a coder and
have never written code. I want you to build me a small Virt-A-Mate (VaM)...
Some questions:
Are the clothing items Timeline targets, or only the person’s own morphs and params? Check the Timeline Targets screen for float-param rows named after clothing items.
Do the two segments reference different clothing items’ storables?
Is the character atom inside a subscene, and...
I recommend you judge on more detail before pulling the trigger.
A good app to use is Intel PresentMon. Run it and target VaM.
Check CPU busy vs GPU busy to see which is the actual bottleneck.
This looks like a corrupted scene save file.
In the stack trace, these lines reveal the issue:
!> Exception during LoadJSON: System.Exception: JSON Parse: Too many closing brackets
at SimpleJSON.JSONNode.Parse (System.String aJSON) [0x00000] in <filename unknown>:0
at SimpleJSON.JSON.Parse...
@booyakshaka glad you like the concept.
The plugin that drives the expressions can be found here: HK FullPersonControl
The default template is what you saw earlier in this thread.
I see your perspective, and in general that is very accurate. Though I won't use it as a blanket statement because...
✨ New Feature — Automatic Intensity for Male Characters
Male characters now respond to genital contact automatically, just like female characters have always done. The plugin detects when the penis base, shaft, or tip makes physical contact during a scene and uses that to drive moaning...
✨ New Feature — Manage Templates Screen
Lighting rigs are now built around reusable, named templates instead of one-click in-code presets. Open Lights → Manage Templates to see every built-in rig alongside any you've saved yourself, or build a brand new one from lights already in your scene...
I'm busy finalizing some updates for my next release of FullPersonControl.
The current version already supports a proof of concept for facial expressions driven from arousal.
My next release takes this further and makes facial expressions template-able using a custom protobuf-like save file...
The scene JSON files are the most important since most scenes can be restored from those.
As noted by others, some hub content could become unavailable but this easy to check.
Create a new install of VaM. Copy your save JSON files only and move them to the fresh install.
Download and install...