Is this DeoVR on PC or Quest? Can you DM me the full trace log?
The key miss match reset happens when DeoVR resets the Haptics thing internally. This should happen after 4s of no response from the client/MFP.
The key miss match ignore I think happens because there are sometimes somehow two Haptics threads running in DeoVR.
So I think one thread is grabbing the key responses, but for some reason not handling the script request, while the other timesout and sends a reset. And it gets messy from there. I had this happen on PC DeoVR but ignoring one of the responses would fix it before.
Its possible that in v15 they changed something, I need to test. Some users downgraded to v14 and it started to work again.
In general the whole Haptics implementation in DeoVR is very unstable. I don’t know how it is even possible that it works with a phone app.
I would like to ignore it in the future and stream the scripts directly like how DeoVR does, this would mean no more firewall and this Haptics issues.
Also not recieving streamed scripts to mfp from deovr. And the trick to disable/renable remote control and haptics doesnt fix it. Seems the new deovr update has a lot of bugs, will try to go back to earlier version
Hey. i just have a quick question. I am noticing that the script is slightly out of sync, is there a way to adjust this in the app? Looking at the script in openfunscripter, it seems perfect synced, but when i play the video in multifunplayer it seems like the script is a tiny bit behind the “action” I thought it was the “offset” thing, but since there are two places you can adjust the offset, i dont realy understand what the offset is.
The offset field under the video if a global script offset, the offset field under the axis tabs is per axis offset. You probably want to use the global offset.
I did some investigation and it seems that in the latest deovr update (steam v15.1) the script support for Haptics Connect is purposefully disabled, DeoVR now only sends move commands directly to BLE devices. So even if MFP connects to Haptics Connect, the script wont work.
Will have to see if this is their long term plan, if it is they will probably remove script downloads from sexlikereal in the future and transition to an api similar to The Handy. I’m assuming this is in preparation for their own device release.
Solution for now is to use v14 as long as you can or downgrade from v15.
I’ll see if I can update MFP to still work with v15 or later.
Quote doublevr:
“mfp might be a problem as we moved to secure scripts streaming so they are no longer available to sniff.”
At the moment it looks like they want to control the whole eco system, no heads-up from them for this upcoming (breaking) change, and sadly it looks like their own support team didn’t know this was changed at first.
edit 9/9/2025 support is still clueless of this, and will start a trouble shooting session.
Sounds about the usual SLR remove features then gaslight their users.
Probably overdue cancelling my sub to be honest, already have a lot of scenes and scripts in my XBVR library, and I’m not going to randomly remove my access to that.
They are redirecting users reporting this issue to their support, and the reaction of support is just, ‘dev’s are looking into it’, I guess that looks better from the outside. Didn’t get a clear answer yet.
And this is why streaming scripts and video was never going to be the ‘future’ of funscripts. “Just completely rely and depend on a service that changes its terms and functions, it’ll always work.”
yep looks like it was on purpose and we are officially loosing mfp support with slr someone just asked on the other forum if they will fix it and replied “we do not find a way to have advanced scripts security and mfp support”"
Yeah, I figured part of it is we’re a small percentage. I thought it was cool they even had OSR/SR6 integration. It’s still bullshit to take it away for no reason. The argument is we’re insignificant but it’s also like… Exactly, we’re insignificant. Why would you wanna screw us over like a bunch of us are causing problems?
They are claiming it’s to combat script piracy, but I haven’t seen their scripts online anywhere.
I think they just want total control, end to end security that can’t be bypassed and then they can make all the rules.
Oh, definitely exclusivity for their own device and devices they have affiliation with. If it was about script piracy rather than devices why not create their own secure script player for any device? (Which I think is basically what Haptics was, and they nuked that.)
This is initial implementation so there are some drawbacks compared to Haptics Connect:
It currently does not support script switching, the repository only selects the latest user made script and falls back to latest ai script if it cannot find one. The script switching will come in later MFP versions but it requires big internal changes.
Heatmap in MFP will load in chunks, but there is a full one visible in DeoVR.
Only stroke axis works for multi-axis scripts (SLR limitation)
DeoVR haptics toggle gestures don’t work since they require Haptics Connect
Scripts stored on VR headset will not be detected by MFP since they require Haptics Connect
If you had problems with SLR scripts not working on Quest due to firewall/VPN when using the old way then this fixes all of those issues.
Changelog:
Block plugins from accessing secure script resources
Add ability to toggle InPrivate mode in Web source
Add ability to export/import (copy/paste) shortcuts and shortcut actions (#195)
In previous versions script heat was always normalized, meaning the fastest section of the script was always red no matter how fast that section is, this version disables normalization by default and adds ability to enable/disable it. With normalization disabled script sections are only marked red if they are at or above 500 units/s.
Fix MPC source not responding correctly to play state changes causing no motion from scripts
Fix MPC source not resetting state when media file is closed
Fix XBVR/Stash not working in some cases due to endpoint check not resolving host names
Fix possible deadlock by compiling plugins only after the window is loaded
Fix missing maximize button in Web window
Fix main window padding when maximized
Limit number of heatmap preview updates caused by DynamicKeyframeCollection
1.33.5
Fix possible crash when using null to target all axes
Fix duplicate axis clear/reload actions
Fix Script::SkipGap action ignoring target axis
Fix Axis::Script::Reload and Axis::LinkAxis::Set actions not blocking until script reload is finished
Fire PostScriptSearchMessage before applying the scripts to allow plugins to modify the result
1.33.4
Support script invert and media playback speed when using PolledUpdate
Add ability to disable assigned shortcut actions without having to remove them
Add ability to search for local scripts from plugins
Add ability to load scripts from shortcuts actions
Improve randomness of random motion generation
Improve performance of heatmap generation
Change default Serial and UDP output settings to improve smoothness by adding some “additional elapsed time”
Fallback to default device when selected device has no axes
Remove CreateView from plugins and only load view from .xaml files
Fix Buttplug output PolledUpdate ignoring axis settings Enabled state
Fix broken interpolation preview
Fix exception when trying to schedule shortcut actions after disposing
Fix crash when disposing a plugin with registered actions
Fix crash when plugin throws exception during initializing or disposing
Fix crash when selected device is not found
Fix Axis::InvertValue actions migration
Fix cloned items in UI when using “move up”/“move down” buttons
Fix ability to set device axis name longer than 2 characters
1.33.3
Fix TCode commands sent without new line when using additional elapsed time
Disable Control-flow Enforcement Technology (CET) Shadow Stack, it was enabled by default in .net 9 but causes crashes on some systems
1.33.2
Additional patreon only changelog:
Fix FapTap repository not loading scripts for some videos
Changelog:
Add ability to stretch TCode move duration, can help with micro stutters caused by jitter
I am getting crashes on v1.33.9 with Potplayer, which was working fine with v1.33.8.
With speed limit enabled, MFP would crash with the log below when Potplayer loads a second video that has a associated funscript file (first video and videos with no script will not crash).
Things I have tried:
changing videos with no script (no crash)
using MPV (no crash)
Is there a link to download v1.33.8? I have overwritten it with v1.33.9
2025-09-15 18:33:45.2038|INFO|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Set L0 script to [Name: “A.funscript”, Source: “Z:\handy”]
2025-09-15 18:33:45.2038|INFO|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Received MediaPlayingChangedMessage [IsPlaying: True]
2025-09-15 18:33:45.2038|INFO|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Received MediaDurationChangedMessage [Duration: 00:01:47.9130000]
2025-09-15 18:33:45.2038|FATAL|MultiFunPlayer|System.ArithmeticException: Function does not accept floating point Not-a-Number values.
at System.Math.Sign(Double value)
at MultiFunPlayer.Common.DeviceAxisSpeedLimitedEvent..ctor(DeviceAxisValueEvent PreviousEvent, DeviceAxisFromValueEvent CurrentEvent, Double SpeedLimitUnitsPerSecond)
at MultiFunPlayer.UI.Controls.ViewModels.AxisStateUpdateContext.BroadcastEvents()
at MultiFunPlayer.UI.Controls.ViewModels.AxisStateUpdateContext.EndUpdate(Double deltaTime)
at MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel.<>c__DisplayClass128_0.g__UpdateValues|2()
at MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel.UpdateThread(CancellationToken token)
at MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel.<.ctor>b__127_7()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
— End of stack trace from previous location —
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)