ANANGA

Guide · Device-safe

Device-safe funscripts.

A device can only move so fast, and it needs a moment between commands. ANANGA's funscript reference sets two defaults, 500 position units a second and 80 ms between points, and asks players to slow fast moves down rather than skip them. Here is what the numbers mean, and why.

01 / IN SHORTFour things to know first.

  • Speed is distance over time. Positions run from 0 to 100, so at 500 units a second a full sweep from 0 to 100 takes at least 200 ms.
  • The gap is the time between points. At 80 ms, one axis gets no more than 12.5 points a second.
  • They are defaults. Slower devices need lower limits.
  • Slow down; never skip. A careful player shortens a move that is too fast and keeps its timing, and merges points that are too close while keeping the turns. Skipped strokes break sync.

02 / THE NUMBERSTwo limits, and what a player does.

LimitDefaultIn practiceA player should
Fastest move500 units a secondA full sweep takes at least 200 ms; a full cycle down and up, 400 ms. That is about 150 full strokes a minute.Shorten the move, keeping its timing.
Smallest gap80 msNo more than 12.5 points a second on one axis.Merge closer points, keeping the turns.
A move that is too fast, and what a careful player plays instead The script asks for a move from position 10 to 90 in 100 ms, which is 800 units a second. The player keeps the turn at 100 ms but stops at position 60, which is 500 units a second, then follows the script back down to 10 at 400 ms. 100500 0 ms100200300400 ms pos asked: 90 at 100 ms → 800 units/s played: 60 at 100 ms → 500 units/s
The turn still comes at 100 ms, in time with the picture. Only its height changes.

03 / WHY LIMITSMachines, links and bodies.

  • Machines have a top speed. Motors, belts and screws only go so fast, and each device differs. FunscriptForge's device-limits page gives about 400 units a second for the Handy and 500 for the OSR2, and describes both as community estimates rather than makers' specifications.
  • Links need time. Each point becomes a command over Wi-Fi, Bluetooth or a cable, and each device needs a moment to take it. Some drop commands that come too quickly: under TCode's Bluetooth companion, a device ignores a short command that arrives on the same axis within 5 ms of the last.
  • Bodies notice. Asked for the impossible, a device lurches, stalls or skips. Something you use on the body should move smoothly and predictably.
  • Skipping is worse. A skipped stroke leaves the device in the wrong place and out of step with the picture. ANANGA's spec says a player should not skip moves silently.

04 / FOR SCRIPTERSWrite inside the lines.

  • When the picture moves faster than 500 units a second, script shorter strokes at the right moments rather than full ones no device can make.
  • Keep points at least 80 ms apart. One point per turn is enough.
  • Write whole numbers, sorted by time, with no two points at the same moment and every position between 0 and 100.
  • Leave inverted false and range at 100 unless the script truly needs them.

Then run the checker. Its plot marks moves faster than 500 units a second in red, and it counts points that come less than 80 ms after the one before. It runs in your browser; the file is never uploaded. The full method is in how to make a funscript.

05 / FOR PLAYERSHold the line, keep the time.

  1. Shorten, don't skip.Keep each move's timing and reduce its distance until it fits under the limit.
  2. Merge, keeping the turns.When points come closer than the gap, keep the highest and lowest so the rhythm survives.
  3. Go lower for slower devices.500 and 80 are ceilings, not targets. Use each device's own limits where they are lower.
  4. Let people choose less.A user's own speed cap is good practice; MultiFunPlayer, for one, has per-axis speed limits and smoothing.
  5. Say what changed.Tell the user when points were skipped for missing numbers, and when moves were limited.

ANANGA's player holds every device under 500 units a second, with at least 80 ms between moves, whatever a script asks. Developers can check and repair scripts in code with the open @ananga-ai/funscript library. The rules are written down in the funscript format, as a spec.

06 / QUESTIONSAsked often.

Is 500 units a second the same as 500 mm a second?

No. Positions are hundredths of the range the device is set to use. On a 100 mm range, 500 units a second is 500 mm a second; on a shorter range, it is less.

Will the limits change how a script feels?

Only where the script goes beyond them. The checker shows how many moves that is, and the fastest one.

Why 80 ms, if some devices can take commands faster?

It is a margin. A script written to 80 ms plays well on more devices, over more kinds of link.

Do vibrators have limits too?

The gap applies: every change of strength is a command. The speed limit is about moving parts. See vibrators.

Does the checker upload my script?

No. It reads the file in your browser and nothing leaves your device. Use it on any script, wherever it comes from, including those in ANANGA's free, open catalogue at ananga.ai/scripts.

07 / SOURCESWhere the facts come from.

Written and checked by ANANGA in Paris against the pages above on 6 November 2026. Corrections are dated on this page.

The player · Opening this winter

Felt, not seen.

ANANGA's player opens to everyone this winter. It plays your videos and their funscripts in the browser and in VR, with the Handy, Intiface devices and TCode devices, and keeps every file on your device.