Welcome to the Syncydink Tutorial!
Syncydink is a Web-based Haptic Movie Player with support for 2D and VR videos. It can output commands to Buttplug Sex Toy Servers.
Syncydink can be accessed at:
Syncydink supports the following haptics formats:
- Virtual Real Porn (ini)
- Feelme (JSON)
- Kiiroo/Flicker.tv (js)
(Vorze and RealTouch coming soon)
Syncydink is capable of taking the above file formats and outputting control commands for the following toys via Buttplug:
- XInput (XBox) Gamepads
- Fleshlight Launch
- Lovense Vibrators
- Vibratissimo Vibrators
- Magic Motion Vibrators
More toys and file formats will be added to this list as they’re supported.
Syncydink Browser/Platform Support
Syncydink has been tested on the following browsers:
- Firefox 55/56/57 (2D, VR via WebVR, tested with Oculus Rift)
- Chrome 59/60 (2D)
- Edge 40.15063.0.0 (2D)
- Android M Chrome (2D, though reports of VR working)
- Safari 10.1.1 (2D)
- iOS 10 Safari (2D)
To use Syncydink with Buttplug on Windows, you will need to be running a Buttplug Server. Currently, the only choice for this is Windows 7-10, via Buttplug C#.
For macOS, Linux, Android, and ChromeOS, Bluetooth access is build into the Google Chrome web browser. You should just be able to access your hardware via the syncydink web app.
Interaction with Syncydink happens via one of 2 UI pieces:
- Left Side Panel (accessed via clicking the 3 line icon at the top right, or swiping right anywhere on the page)
- Video Controls (usable after video loaded, accessed by moving cursor toward bottom of screen, or tapping screen on mobile)
Loading a Movie/Haptics File
To use Syncydink, you will need 2 files:
- A movie file
- A haptics file [optional]
To load these files, open the panel and select the “VIDEO” tab. You can then click or tap on the file fields of load videos or haptics files.
The 2d Playback interface is similar to what you would see on Youtube. There are Pause/Play controls, as well as speed controls. Note that playing the video faster than 1x will also result in the haptics playing faster, and may cause inaccurate movement in hardware.
To choose VR playback, change the selection on the “VIDEO” tab on the left sidebar to “VR”. If your browser supports WebVR, the movie display will split in half, with the 2D movie shown on top and the VR movie shown on bottom.
To enter fullscreen VR mode (used for pushing to Vive/Oculus headsets), click on the VR Goggles icon in the lower left of the VR pane.
Since we don’t yet have a way to control playback in VR, this mode shows both the 2D and VR renderer at the same time. The top panel will be the 2D with full controls, while bottom is a view of the VR renderer. Hitting the VR goggles icon will allow you to go full screen in VR.
To control movie playback timing, use the video controls in the 2D pane, as you normally would with a 2D movie. We currently do not have in-helmet movie control for VR.
Haptics via Buttplug
For haptics playback, we support the Buttplug Sex Toy Control Protocol. Syncydink can connect to a server via:
Connecting to Buttplug
You can connect to Buttplug in one of two ways:
- Via the local browser (used for Google Chrome MacOS/Linux/Android/ChromeOS)
- Via a websocket (used for Windows 7/10)
Connecting via Browser (macOS/Linux/Android/ChromeOS)
To connect via the local browser, simply ignore the server settings and hit “Connect Local”. This will establish a Buttplug Server session in your browser. No outside software is needed.
NOTE: This is currently only useful for macOS/Linux/Android/ChromeOS. While this will bring up a server session in Windows and iOS, due to lack of WebBluetooth support in Chrome Windows, and Firefox and Safari on all platforms, no hardware is supported via this method on those platforms at the moment. Please use the Websocket method if on Windows, or if on iOS, connect to a windows machine running buttplug-csharp. iOS native solutions are still in development.
Connecting via Websocket (Windows 7/10)
To connect to a Buttplug Server using Websockets:
- Bring up the Buttplug Websocket Server (if you have not yet installed buttplug-csharp on Windows, please check this tutorial).
- Bring up the “BUTTPLUG” tab on the left sidebar
- Enter your server address in the Server Address field
- Click connect
Assuming the connection is successful, you should see a Device and Log field pop up in the panel, and on your Websocket Server GUI, it should show “Syncydink Video Player” as the client.
To connect to a device once a selection is made:
- Click the “Start Scanning” button
- If you have already connected to a server and scanned, and are just reconnecting, the currently connected devices will show up on connection to the Buttplug server, you shouldn’t need to scan again.
- As devices are found, they will appear in the list
- To select a device for use, click on the check box next to it.
Assuming there is translation available for the current movie script to the selected devices, haptics commands will be sent to them.
Where to get Haptics Files/Scripts
Scripts for movies for Syncydink are available at:
- RealTouchScripts Funscript Forum (Requires free account)
- Funjack’s Script Repo (Matching videos fetchable from Pornhub)
- FredTungsten’s Script Repo (Matching videos fetchable from Pornhub)
- If you are a VirtualRealPorn member, VirtualRealPorn haptics files (.ini files in the videos/config directory of VirtualRealPlayer) and movies work.
flicker.tv has free movie downloads that work with Syncydink. To use:
- Unzip the movie file
- Load the movie file
- Load the “data/js/vstroker2.subtitle.json.js” file as your haptics file.
Making Your Own Movie Encodings
If you’d like to make your own encodings to work with Syncydink or ScriptPlayer, there are instructions on using Blender for encoding at
There’s also some support messages about this in the following RealTouchScripts forum thread:
We are working on our own dedicated movie encoders, and will make updates when these are ready for use.