Using AutoScript Sync with Intiface

To play an Intiface funscript session you do not need to install anything else: AutoScript Sync starts its own bundled Intiface engine on ws://127.0.0.1:12345 when you connect, or uses an Intiface Central you already run. Choose Intiface / Buttplug (local) in the Device panel, press Connect, and the app streams the script from your PC as one move command per point. Nothing is uploaded, and there is no drift correction on this path.

Checked against the app's code on 21 September 2026.

The engine: bundled, or your own Intiface Central

The app talks to a Buttplug server over a local WebSocket, using Buttplug message spec version 3, and introduces itself to the server as “AutoScript Sync”. The address is ws://127.0.0.1:12345 unless you change it in the Server URL field.

Nothing listening on the port
The app starts its bundled intiface-engine v1.4.8 (Buttplug 7.1.9, November 2023) as a background process. If an install has no engine bundled, it downloads the official release once, on the first connect.
Intiface Central already running
The app uses it and leaves it alone. Its device list then applies instead of the bundled engine's. Intiface Central v3 speaks a newer spec (v4), and we have not yet checked that the app works with it.

The bundled engine is not updated for you. At each launch the app asks GitHub for the engine's latest release number, but it never replaces the copy that ships with the app. A toy released after November 2023 may therefore be unknown to it.

Which connections the engine opens

The bundled engine is started with these device managers switched on:

  • Bluetooth LE, for wireless toys such as The Handy.
  • Serial, for USB devices such as an OSR2 or SR6 (see the OSR2 and SR6 page for what that needs today).
  • HID and XInput.
  • The Lovense USB dongle, serial version. The newer HID version of the dongle is added in the next update.

Lovense Connect is left off on purpose, because it contacts Lovense's servers. Device control on this path never leaves your PC.

What happens when you press Connect

  1. The app finds a server on the Server URL, or starts the bundled engine.
  2. It asks the server to scan for devices for up to 12 seconds, checking the device list every 0.7 seconds.
  3. In the released app, scanning stops as soon as the first usable device appears, and that device is the one the app drives. In the next update the app keeps listening about 2 seconds longer, to catch a second toy.
  4. Load a script and press Send Script to Device. For an Intiface device nothing is uploaded: the app confirms the script is loaded and shows Script: ready (live streaming).
  5. Press Play. The device follows the video from that moment.

Switch the device on before you press Connect, so it can be found inside the 12-second scan.

What your device receives

Strokers
Each script point becomes one LinearCmd whose duration is the time to the next point, at least 30 ms, so the device travels smoothly from point to point by itself.
Devices with a Position actuator
They get a ScalarCmd position instead.
On pause
Strokers move to the middle of their travel, position 50.
Test Stroke
Moves a stroker gently down, up and back to the middle, in 400 ms moves.

Timing runs on your PC's clock from the moment you press Play or seek, shifted by your Offset setting (−5000 to +5000 ms, in 50 ms steps; raise it if the device feels late). The app never sends the old VibrateCmd; the full set the released app uses is RequestServerInfo, StartScanning, StopScanning, RequestDeviceList, LinearCmd, ScalarCmd and StopDeviceCmd. RotateCmd, for rotating toys, is added in the next update.

In the released app the device plays the script as it was generated. Your Stroke Settings and the device's speed profile are applied to Intiface devices in the next update; today they shape only the script sent to an Autoblow AI Ultra.

No upload, and no drift correction

The Autoblow AI Ultra plays an uploaded script and the app keeps checking its clock. Intiface devices work the other way: the PC streams every move live, and the app measures no latency and corrects no drift. It treats drift on a local connection as negligible. The script is re-anchored to the video only when you press Play, seek, or change a setting. If the video stalls or buffers, the device carries on on its own timer; pause and play again to bring the two back together. Drift correction on the Autoblow path explains what the Ultra gets instead.

The Vibration panel: manual control today

In the released app a vibrator is not driven by the script's motion. The script's position goes out as a ScalarCmd to the first actuator of any device that cannot stroke, so a vibrator may buzz at a level that follows the position; that is an untested side effect, not a feature. What you get for vibrators now is the Vibration panel, which lights up when a connected device reports a vibrating motor. It has an intensity slider, sent as you move it, and four looping patterns: Pulse, Wave, Escalate and Tease, sent about 20 times a second to every vibrate and oscillate motor on the device.

Use it only with a device that vibrates. The panel is also enabled for any device that accepts scalar commands, a position-only stroker or an air pump included, and there it would drive that device's first actuator.

What the next update adds

These are written, but no released build has them yet:

  • Vibrators, rotating toys, oscillating machines and air pumps follow how fast the script is moving. See the Lovense page for how that mapping works.
  • Several devices driven at once, and a second device that follows the video beside the main one.
  • Stroke Settings and the per-device speed limits applied to Intiface devices.
  • A COM-port picker for an OSR2 or SR6 on USB, and the newer Lovense HID dongle.
  • A short pulse from Test Stroke for devices that cannot stroke, and vibration motors set to zero on pause.

How this path was tested

Every Intiface device path was tested against mock Buttplug servers, and in one end-to-end run against fake Lovense toys on the real bundled engine. None has been tested by us on real hardware yet; the only device that has is the Autoblow AI Ultra. The device compatibility table shows the status of each device.

Troubleshooting

The scan finishes and no device appears. What should I check?

Make sure the device is switched on, then press Connect again: the scan lasts up to 12 seconds. If you run Intiface Central yourself, the app uses it instead of the bundled engine, and we have not checked the app against Intiface Central v3; close it and let the app start its own engine to rule that out. A toy newer than November 2023 may be unknown to the bundled engine v1.4.8.

I have two toys connected. Why does only one move?

The released app drives the first usable device it finds and stops scanning there. Driving several devices at once, and a second device that follows the video, come in the next update.

The status bar says “Streaming positions (fallback mode)”. Is something wrong?

No. The app shows that text during every normal Intiface playback, not only when something has fallen back. It describes the live streaming this path always uses.

The device drifts away from the video over a long scene. Can the app fix that?

Not automatically on this path. Pause and press Play, or seek, and the script is re-anchored to the video. If the device is consistently early or late, change Offset: raise it if the device feels late.

Does the Intiface path send anything over the internet?

Device control stays on your PC. The app does check GitHub for the latest engine release at each launch, and it downloads the engine on the first connect only if no engine was bundled. Neither sends your video or your script.

Read next

Try it with your own device

The free trial lasts one day with every feature unlocked, so you can check your device connects before you buy. Start it in the app with Start free 1-day trial; it needs an internet connection.