ScriptPlayer+ v0.2.0 – Script Matching Improvements, Stability Enhancements & Licensing Changes

ScriptPlayer+ v0.2.0 Update

Hi everyone, ScriptPlayer+ v0.2.0 is now available.

This update includes several new features, but the primary focus was improving overall stability — especially around script matching, multi-axis handling, folder scanning, and playback consistency.


:wrench: Recursive scriptFolder scanning

The app now scans all subfolders inside your configured script folder and includes them in matching.

Scripts found in nested folders are properly reflected in media checkmarks and variant candidates.

:backhand_index_pointing_right: You can now organize scripts more freely without breaking matching.


:film_frames: Improved script matching & multi-axis detection

When multiple script bundles exist for the same media, they are now grouped as variants more reliably.

Multi-axis scripts are also detected and handled more consistently.

:backhand_index_pointing_right: Reduces issues when using multiple script versions or multi-axis scripts.


:computer_mouse: Drag & drop playback + manual script matching

You can now drag and drop a script file directly to start playback and matching.

Even if the video is not explicitly dragged, dropping a script from the same folder will automatically load the corresponding media.

Manual matching is also available when automatic matching fails or is ambiguous.

:backhand_index_pointing_right: Works even when filenames don’t match perfectly.


:bullseye: Per-script / per-media offset

Offsets can now be saved per script or per media.

Shortcuts:

  • Alt + Left → -50ms
  • Alt + Right → +50ms
  • Alt + 0 → reset

:backhand_index_pointing_right: Useful for fine-tuning sync on specific files.


:high_voltage: Motion Speed Limit

A new feature that limits motion speed sent to the device, without modifying the original script.

Presets:

  • Off / Gentle / Balanced / Strong / Custom

:backhand_index_pointing_right: Helps prevent overly fast or aggressive motion.


:test_tube: Script debug info option

Disabled by default. When enabled, the player displays:

  • Script path
  • Source
  • Axes
  • Offset scope

From this panel, you can also:

  • Copy path
  • Open in Explorer
  • Reload the script

:backhand_index_pointing_right: Useful for debugging and verifying the current script state.


:counterclockwise_arrows_button: scriptFolder rescan

You can now rescan the script folder without restarting the app.

:backhand_index_pointing_right: Updates checkmarks, variants, and current script state instantly.


:pushpin: Always on Top

Added an option to keep the window always on top, even when switching to other applications.


:file_folder: Folder state persistence

Sidebar folder collapse state is now preserved.


:hammer_and_wrench: Improved stability when switching script variants

Switching scripts while keeping the same media loaded is now significantly more stable.


:lady_beetle: Bug fixes

Fixed multiple issues discovered during usage, including cases where scripts would not properly load when replaying media.

Most commonly reported bugs (excluding larger UI overhaul requests) have been addressed in this update.


:warning: Distribution & Licensing Changes

Starting from v0.2.0:

  • The license has been changed from PolyForm Noncommercial to a custom EULA
  • Source code will no longer be publicly available

Previously released versions (0.1.x and earlier) remain under the original PolyForm Noncommercial License.

If you already have a fork or a copy of the old source code, you may continue to use it for non-commercial purposes under the original license.


Why this change?

ScriptPlayer+ is planned to transition into a self-update capable architecture.

This will involve a backend server for update distribution, along with client-side update logic (checking, downloading, applying updates).

If these systems were fully public, it could introduce risks such as update hijacking or other security vulnerabilities.

To ensure a stable update pipeline, maintain long-term project direction, and reduce potential security risks, the project is transitioning to a closed-source distribution model under a custom EULA starting from v0.2.0.

This change does not affect general users, but primarily impacts developers who were referencing or forking the source code.


:globe_with_meridians: Links

The landing page has also been redesigned from scratch, so feel free to check it out.

9 Likes

Awesome player, trying it out on Macos

2 things

  1. video size is not maximized in the window, on my big monitor the video does not fill the window, should be able to resize the video
  2. more speed increments, 1x 0.9x is good, but would like more fine grain like 0.96,0.97 etc

Also only the intel mac app works on my m1 pro, the native one does not open

Thank you!

How do you manually add scripts and their script variants to a video? Ideally you’d want to be able to multiselect in selection. Or add them one by one. But I am struggling to figure it out on my end. Automatic name detection has trouble when variants are in play. I.E same video but in different flavors. So typically I would name them Variant 1 and 2 so they would not match the script name.

Hello, this is the developer.

Regarding video size, there is already a feature supported since earlier releases that allows you to scale the video to fit your monitor in fullscreen mode using the “FIT” option.

As for the playback speed mentioned in your second point, it currently supports values such as 0.75x, 1x, 1.25x, 1.5x, as well as adjustments in 0.x increments.

Using smaller increments than that would make controls less convenient, and there doesn’t appear to be significant demand for finer steps, so the current behavior will likely remain unchanged.

Regarding the macOS version, an ARM build is provided, but it is not functioning properly. Despite multiple attempts to fix it, the ARM build is still not working as expected.

For now, it is recommended to use the Intel build. If macOS officially restricts running Intel-based applications in the future, proper measures will be taken at that time.

Right-click on the video you want to play in the list, and you will see a “Manual Script Selection” option. You can use that to select the script.

is there a way to reset the software , or manually delete the settings? i messed up some settings and the software cant connect to intiface

Hi thank you for the update, I don’t like running in Fullscreen as I like to have the list available to change…any chance to add the Fit option to none Fullscreen mode?

Yes. Please close ScriptPlayer+ completely, then delete the app settings folder:

Windows:

  1. Press Win + R
  2. Paste this:
    %APPDATA%\ScriptPlayerPlus
  3. Delete that folder
  4. Start ScriptPlayer+ again

This resets the app settings, including the Intiface server URL, selected device, and axis mappings. It does not delete your video or funscript files.

After restarting, set Intiface back to:
ws://127.0.0.1:12345

I can re-add it in a safer way now. It will only change how the video fits inside the current video area, keep the playlist visible, and avoid saving it globally so it won’t break the next session.

This will be implemented in the next version.

1 Like

hi I wanted to ask if there would be any implementation of other video player support like VLC, potplayer, etc.

We do not plan to implement integration with other players. Thank you.

im using edge 2 , it is only working on version ScriptPlayerPlus-v0.2.0-win-x64. If im using above version , the toy will not vibrate

Thanks for the report.

Lovense Edge 2 is a vibration-based device, and I found a likely regression introduced after v0.2.0.

In newer versions, Intiface/Buttplug axis mapping became stricter to fix multi-axis devices, but this can prevent vibration-only devices like Edge 2 from receiving normal L0 funscript motion as vibration input.

I will add a compatibility fallback so vibration-only scalar devices can use L0 scripts when no dedicated V0/V1 vibration script is available.

This should restore Edge 2 behavior without reverting the multi-axis fixes.

1 Like

thanks

Is it possible for you to add organized by length?