ToySerialController+VAMLaunch

Plugins ToySerialController+VAMLaunch

The version available at https://github.com/ZengineerVAM/VAMLaunch is old (and is probably embeding an old version of buttplug.io ).
A newer version (renamed VaMSync) is available at https://github.com/intiface/VaMSync , maintened by the developper of buttplug.io, and it can connect to Intiface Desktop (from what I read from the revision note, I did not try it yet).
I will include this information in the description when I release the next update in a few days.
 
Blazedust updated ToySerialController+VAMLaunch with a new update entry:

ToySerialController+VAMLaunch (update) v.4

* Changed how Auto Target Points are calculated. It's now based on a score which is determined by the motion relative to the reference/male. If there are multiple valid target points, like a hand and a mouth, the one with the most motion will be selected. Also tweaked some other things. The Auto Target option now produce better results than before.
* Fixed an exception if a person atom in the scene wasn't enabled.

Read the rest of this update entry...
 
So does this work also with Lovense Edge 2/buttplug somehow? Wowzer if it does!

In VRchat Intiface desktop supports Edge2 nicely with Dynamic Penetration System mod (link below): vibrators and butplugs react with force/rumble when orifices are penetrated by penis and objects. That would be the dream in VAM also ;)
 
Last edited:
Blazedust updated ToySerialController+VAMLaunch with a new update entry:

ToySerialController+VAMLaunch (update) v.5

* Improvements to the auto target detection and bug fixes. -- Sometimes the old auto target detection would fail to swap target points (e.g. hand to mouth) when one stopped moving but remained inside the reference zone.
* Added a "Minimum Axis Input Before Predicting Movement" slider which allows you to adjust the minimum distance the axis input needs to move before predicting a new movement with the launch. -- Some animations have very subtle movements where this could be useful to decrease...

Read the rest of this update entry...
 
Great plugin! While it isn't absolutely perfect (yes, you can make it miss a stroke or two with really fast tempo chances), the motion detection system is a LOT better than the VAMLaunch "zone" version.

If you combine it with something like SilverThruster, it's pretty good at making a simple but semi-random interaction.
 
Blazedust updated ToySerialController+VAMLaunch with a new update entry:

ToySerialController+VAMLaunch (update) v.7

* New way of predicting strokes to drastically reduce (and even eliminate) missed strokes when speed changes.

This new approach uses the current stroke's min/max apex axis input values to analyze when to predict the next stroke (it's not time or speed dependent like the old way).
Example: If the current stroke's axis input value is from (min) 20 to (max) 80, there's an axis input range/travel distance of 60. Once the next strokes travel distance is past a certain threshold it will predict...

Read the rest of this update entry...
 
Great plugin! While it isn't absolutely perfect (yes, you can make it miss a stroke or two with really fast tempo chances), the motion detection system is a LOT better than the VAMLaunch "zone" version.

If you combine it with something like SilverThruster, it's pretty good at making a simple but semi-random interaction.
You might want to try out v7 of this plugin as it includes a more robust way of tirggering next prediction which is not based on timing nor speed, which makes it handle speed changes really well!
 
You might want to try out v7 of this plugin as it includes a more robust way of tirggering next prediction which is not based on timing nor speed, which makes it handle speed changes really well!
Thanks - I will
(Been a bit busy, I'll have time later this week)
 
The updated version (7) seems to have a much jerkier response to AnimationPattern input. Also - the original VamLaunch - didn't it use direct input from the AP? I feel like the prediction for AP isn't necessary and the original is better (specifically for APs). Am I missing something?
 
The updated version (7) seems to have a much jerkier response to AnimationPattern input. Also - the original VamLaunch - didn't it use direct input from the AP? I feel like the prediction for AP isn't necessary and the original is better (specifically for APs). Am I missing something?
The motion source "Animation Pattern" is not the same as the AnimationPattern from the original VamLaunch.
The motion source is from the ToySerialController and its implementation of the Animation Pattern is not similar to how the VamLaunch one is.
1642090430961.png

This plugin is not intended to be use with "Animation Pattern" but it's possible that it works. Enable "Debug" and you can see what Animation Pattern does.


If you mean animation patterns in scenes in general has changed it might have to do with the new settings in recent updates, including v7. To disable them refer to the image below, uncheck A, set B as low as possible and set C to NONE. This will mimic the older behavior as close as possible.
1642090583891.png


Otherwise, do you have a scene with an animation pattern as reference that I can check out?
 
The motion source "Animation Pattern" is not the same as the AnimationPattern from the original VamLaunch.
The motion source is from the ToySerialController and its implementation of the Animation Pattern is not similar to how the VamLaunch one is.
View attachment 88425
This plugin is not intended to be use with "Animation Pattern" but it's possible that it works. Enable "Debug" and you can see what Animation Pattern does.


If you mean animation patterns in scenes in general has changed it might have to do with the new settings in recent updates, including v7. To disable them refer to the image below, uncheck A, set B as low as possible and set C to NONE. This will mimic the older behavior as close as possible.
View attachment 88426

Otherwise, do you have a scene with an animation pattern as reference that I can check out?

I will try this, thank you!

As for scenes - no, but something like the Dollmaster plugin uses APs, as does VAMx for a lot of it's stuff.
 
Try as I might, I can't get it to work. I'm dumb and need help. Running VAM v1.20.0.6 and downloaded this plugin to AddOnPackages. I run VAMSync. Launch is connected OK but adding this script (ADD_ME.cslist) as Session Plugin (any Scene) fails. There are no other Session plugins loaded. Error log says:

Compile of Blazedust.ToySerialController+VAMLaunch.7:/Custom/Scripts/Blazedust/ToySerialController+VAMLaunch/src/Plugin.cs failed. Errors:
[CS234]: The type or namespace name `Config' does not exist in the namespace `ToySerialController'. Are you missing an assembly reference? in <Unknown> at [3, 27]
Compile of Blazedust.ToySerialController+VAMLaunch.7:/Custom/Scripts/Blazedust/ToySerialController+VAMLaunch/src/Plugin.UI.cs failed. Errors:
[CS234]: The type or namespace name `Config' does not exist in the namespace `ToySerialController'. Are you missing an assembly reference? in <Unknown> at [5, 27]
Compile of Blazedust.ToySerialController+VAMLaunch.7:/Custom/Scripts/Blazedust/ToySerialController+VAMLaunch/ADD_ME.cslist failed. Errors:
[CS1501]: No overload for method `SaveJSON' takes `5' arguments in <Unknown> at [39, 24]
 
Try as I might, I can't get it to work. I'm dumb and need help. Running VAM v1.20.0.6 and downloaded this plugin to AddOnPackages. I run VAMSync. Launch is connected OK but adding this script (ADD_ME.cslist) as Session Plugin (any Scene) fails. There are no other Session plugins loaded. Error log says:

Compile of Blazedust.ToySerialController+VAMLaunch.7:/Custom/Scripts/Blazedust/ToySerialController+VAMLaunch/src/Plugin.cs failed. Errors:
[CS234]: The type or namespace name `Config' does not exist in the namespace `ToySerialController'. Are you missing an assembly reference? in <Unknown> at [3, 27]
Compile of Blazedust.ToySerialController+VAMLaunch.7:/Custom/Scripts/Blazedust/ToySerialController+VAMLaunch/src/Plugin.UI.cs failed. Errors:
[CS234]: The type or namespace name `Config' does not exist in the namespace `ToySerialController'. Are you missing an assembly reference? in <Unknown> at [5, 27]
Compile of Blazedust.ToySerialController+VAMLaunch.7:/Custom/Scripts/Blazedust/ToySerialController+VAMLaunch/ADD_ME.cslist failed. Errors:
[CS1501]: No overload for method `SaveJSON' takes `5' arguments in <Unknown> at [39, 24]
Make sure you're running VAM 1.20.77.9 (latest)
 
Make sure you're running VAM 1.20.77.9 (latest)
Thanks! At least I can stop pounding my head on the wall. I've got every preceding version still installed, but had so much trouble updating each time (like missing resources, broken plugins, etc.) that I stopped. I may give it a try or maybe go back to old VAMLaunch standalone plugin.

I appreciate the reply!
 
@Blazedust, this plugin works also great with Lovense (e.g. buttplugs and vibrators), big thanks for that! However, vibration strength of Lovense feels like nowhere near maximum even when using max settings (2.0 multipliers in session plugin configuration). We are more around ~50% I would say.

Before connecting to VaMSync, in Intiface Desktop under Device List, you can define manually buttplug device's vibration strengths and define that seperately for vibration motors even (if you happen to have e.g. two) and can yourself easily test out the maximum levels. However, if you put motor strengths to maximum in Intiface's Device List and then connect to VaMsync, nothing changes in VAM vibration strength in the end. Is there something that I could try in the settings or maybe it is a VaMSync issue? Thanks for help, great must-have plugin!
 
@Blazedust, this plugin works also great with Lovense (e.g. buttplugs and vibrators), big thanks for that! However, vibration strength of Lovense feels like nowhere near maximum even when using max settings (2.0 multipliers in session plugin configuration). We are more around ~50% I would say.

Before connecting to VaMSync, in Intiface Desktop under Device List, you can define manually buttplug device's vibration strengths and define that seperately for vibration motors even (if you happen to have e.g. two) and can yourself easily test out the maximum levels. However, if you put motor strengths to maximum in Intiface's Device List and then connect to VaMsync, nothing changes in VAM vibration strength in the end. Is there something that I could try in the settings or maybe it is a VaMSync issue? Thanks for help, great must-have plugin!
To get the full "agressive" range output (which is generally not ideal for a Launch device but great for vibrators I guess) try the following settings:
  • Main: Smoothing (%): Somewhere between 0-5.
  • Main: Reference Length (%): Experiment between 50-90%.
  • Device Max Range: 99 (max)
  • Device Min Range: 0 (min)
  • Device Speed Multiplier: Don't know how this affects Lovense. But the speed can't exceed the Device Max Speed setting.
  • Device Input Multiplier: Somewhere between 1.1 and 2.0 - depending on the animation - to get the full range to register
  • Device Max Speed: 90 (max)
  • Device Min Speed: Somewhere between 20-30 maybe
  • (In the next version of this plugin) Velocity Smoothing Steps: 1
Try out the above and see if it helps. I have tried to set the default settings somewhat conservative. If the above helps I might include some optional configuration downloads with different presets which might be a good idea.
 
Last edited:
I will try this, thank you!

As for scenes - no, but something like the Dollmaster plugin uses APs, as does VAMx for a lot of it's stuff.
Yeah, if you want to sync to the Animation Pattern itself the old VAMLaunch plugin is the way to go (attaching it to a CycleForce and all that) and select the correct AP as source.
The "Animation Pattern" motion source in the ToySerialController part of this plugin does something different which is dependent on the rotation of each APStep.
The image below illustrate the issue where the motion source and reference zone is perpendiculat to each other resulting in a 0 output (or a very janky output at best). Maybe I should just change this so the motion source always points up like the reference zone - or have an option for this behaviour. At least it would generate an expected output.
1642344549409.png
 
To get the full "agressive" range output (which is generally not ideal for a Launch device but great for vibrators I guess) try the following settings:
  • Main: Smoothing (%): Somewhere between 0-5.
  • Device Max Range: 99 (max)
  • Device Min Range: 0 (min)
  • Device Speed Multiplier: Don't know how this affects Lovense. But the speed can't exceed the Device Max Speed setting.
  • Device Input Multiplier: Somewhere between 1.1 and 2.0 - depending on the animation - to get the full range to register
  • Device Max Speed: 90 (max)
  • Device Min Speed: Somewhere between 20-30 maybe
  • (In the next version of this plugin) Velocity Smoothing Steps: 1
Try out the above and see if it helps. I have tried to set the default settings somewhat conservative. If the above helps I might include some optional configuration downloads with different presets which might be a good idea.

Thanks for your fast reply and insightful tips! However, most of those settings I had already put as you recommended by trying out the settings, so there wasn't much of an improvement there unfortunately. But a ready-made 'max' preset would definitely be a nice addition.

Btw, when is the update with velocity smoothing coming out?
 
Blazedust updated ToySerialController+VAMLaunch with a new update entry:

ToySerialController+VAMLaunch (update) v.8

* The default config is now loaded 10 updates after loading has completed to always be applied after stored session plugin preferences as it could override the saved default config in the plugin sometimes.
* Added a new setting to control the Velocity Smoothing Steps used during prediction calculations. Default it takes the top 3 highest recorded velocities since the last prediction. You can reduce it down to 1 as it will use the highest velocity recorded. You may get slightly varying...

Read the rest of this update entry...
 
Thanks for your fast reply and insightful tips! However, most of those settings I had already put as you recommended by trying out the settings, so there wasn't much of an improvement there unfortunately. But a ready-made 'max' preset would definitely be a nice addition.

Btw, when is the update with velocity smoothing coming out?
:LOL: just now. Anyway - don't expect too much from that setting. Did you ever try the older VamLaunch plugin? Do you get maximum output from that one or is it the same 50%-ish values?
 
Thanks for your fast reply and insightful tips! However, most of those settings I had already put as you recommended by trying out the settings, so there wasn't much of an improvement there unfortunately. But a ready-made 'max' preset would definitely be a nice addition.

Btw, when is the update with velocity smoothing coming out?
I also noticed that the following seting
Main.Reference Lenght (%)
strongly influence the range of the motion. Which makes sense when I'm thinking about it. Try experimenting and lowering it to 80 or 50% depending on the scene.
 
Do you think you could add support for changing plugin settings via triggers in the future? Sometimes leaving the plugin set to Auto and setting up the ranges perfectly for a vaginal ride doesn't translate so well when the animation switches to a blowjob, for example sometimes the ranges aren't quite as perfect as would be.

The ability to change the range and specified target atom via triggers would make switching positions or between sex and foreplay much better and cleaner.
Otherwise this plugin is absolutely incredible and I couldn't imagine the game without it!

EDIT: I should probably mention that I'm using the plugin for an OSR2+, so it's the ability to change the ranges on the serial input. I've not used the others.
 
Just want to start of by saying thanks for this amazing plugin.
It's the best I've tried but I'm experiencing some things I need some input on.
1. Is there any way to make the Device Simulator match the Current Axis Input better?
The Current Axis Input is always Spot on... But the Device simulator can be 30-60 values away from the actual Current Axis Input.
This makes it not very immersive as the movement in the game is matching with the Current Axis Input but not with the Device Simulator.
2. I'm missing ALOT of strokes, it seems to be mostly when movements are medium to fast.
3. I'm experiencing issues with the prediction. Sometimes the Current Axis input stops in the middle of a movement in game but the Device Simulator goes all the way to zero and doesn't stop.
I'm guessing this is because it's predicting that it will go all the way, when it in some cases doesn't and should stop in a movement.

Anyone have any input or fixes for some of my questions? :)

Take care!
 
Last edited:
Back
Top Bottom