EroScripts is a community for scripts that sync up interactive sex toys with porn. Learn more.

To discover, download, and help choose what gets scripted, create an account.


JoyFunPlayer 4.0 - OSR (TCode) Player

The easiest way to play VR scripts on OSR.
Full streaming support, no local files needed.
Also works on mobile devices like the Quest and GearVR!

Online streaming tutorial:

Inside your web browser:

  1. Purchase the video or get access through SLR Premium.
  2. Purchase the script on SLR Interactive.

Inside JoyFunPlayer:

  1. Login with your SLR account using the Connect SLR button.

Inside DeoVR/SLR:

  1. Login with your SLR account on SLR/DeoVR.
  2. Enable SLR Interactive from the options menu.
  3. Play the video which has the corresponding script.
  4. JoyFunPlayer will automatically detect the video and start playing the script.
  5. Enjoy :slight_smile:


  • Supports 2D through MPV player.
  • Supports VR through DeoVR/SLR (enable remote control) or Whirligig (enable timecode server).
  • Smooth startup slowly fades strokes back in when skipping around. No harsh strokes.
  • Gamepad support for changing almost all settings on the fly. (D-pad up/down, with Bumper Left/Right or both). Remove Whirligig/DeoVR bindings to prevent conflicts
  • Voice confirmation on setting changes with the gamepad.
  • Linear, Raw, Cubic & Sine funscript playback. (Cubic is the smoothest option)
  • On the fly ‘depth limiting’ or pausing movement altogether. ( Right bumper & triggers on gamepad, Ctrl/Shift/Alt on keyboard, Mouse4/5/Wheel on mouse, Grip button on VR controllers)
  • 3-axis random stroking mode for unscripted parts / videos. (press right joystick to toggle on/off)
  • Joystick rotation control. (press left joystick to toggle on/off)
  • Twerking mode which adds pitch rotation to regular funscripts.

Gamepad controls:

  • LSB: Toggle manual control over Pitch & Roll with left joystick
  • RSB: Toggle 3-axis random stroker mode
  • Up/Down D-Pad: adjust upper limit
  • LB + Up/Down D-Pad: adjust lower limit
  • RB + Up/Down D-Pad: adjust delay
  • RB: pause motion
  • LT: limit motion from top
  • RT: limit motion from bottom
  • LT: Boost mode (110% range of motion)
  • START: Twerking mode

Support me by buying scripts from:



Awesome! Thanks for making this available.


Good post @raser1 :stuck_out_tongue:

Guys - give the gamepad stroke on the fly adjustment controls a must try - its an amazing way to experience and last those long scenes and sessions!


Thanks for sharing

Is this meant to be a replacement for ScriptPlayer, or is this more of a temporary replacement until ScriptPlayer supports OSR?


Amazing. Thank you so much for giving us an updated version here.


This player only supports TCode, which means I can easily add dedicated & optimized functionality. JFP controls the toy directly with 330+ updates per second, allowing for motion smoothing, raw playback etc.

Adding this to ScriptPlayer would be a massive task, and probably not even worth doing.

Basic TCode/OSR support for ScriptPlayer should be available once it’s added to

1 Like

Would it be possible to build into next version some slider for speed limits? I have OSR2 with brushless servos and with some videos the speed it can produce has to be limited or it would torn my dick off :wink:


One more feature that I am missing is the ability to play the video in the loop.

1 Like

You can already start doing this with the current version by manually starting MPV with this command:

mpv.exe --input-ipc-server=/tmp/mpvsocket --keep-open=always --pause --loop-file

You can either enter that in the address bar where you’ve stored JFP, or you can make a shortcut to the mpv.exe file so you can easily start it like that next time :slight_smile:


I already have a JFP 2.0 for some months. Is this a different version?

1 Like

Great player. Thanks for the hard work.


Nope it’s the same, but now exclusively available at EroScripts :slight_smile:


Is there a way to disable the smooth startup? When the video loop, the movement stops and starts smooth again.

1 Like

Awesome update raser!

Any thoughts on building out an extension/mods/modules API or putting some parts of this up on github where we could maybe help tackle some fringe features?

If i could humble suggest some quality of life/minor stuff (as the core functionality rocks!):

  • Looping (mentioned above)
  • On the fly input multipler. (E.G. scaling all input down to 10% or 120%)
  • Playlist/Scene bookmarking features (E.G. loading in a specific movie/file at a certain time)
1 Like

im a new user of Joyfun player and have some question
1- what mean Linear and spline ? Raw is it read the file as it is but the other 2 do what ?
2- what pitch offset% do same for Roll offset% ?

sorry for my bad english im french

Hi, how to connect Launch to JoyFunPlayer 2.0? How do you connect by Bluetooth? Thank you.

Sorry @tmc300 - no Launch support on JoyfunPlayer unfortunately - Best to stick with SLR Interactive or Scriptplayer for that

Got it. Thank you.

Hi there, I am new here. I just got my Handy today and it’s all a bit overwhelming. Can I use this with the handy? And if so, how do I go about? So far I only used the connection via the Handy website.Thanks a lot

Hey @zala77 - unfortunately you cannot - you can use DEOVR/SLR app for easy quick connecting with the Handy with step by steps here = Interactive Sex Toy Scripts Complete Help Guide (Keon,Launch,Onyx+,The Handy) - SLR community forum for the best VR porn videos

1 Like