Buttplug is a framework for hooking up hardware to interfaces, where hardware usually means sex toys, but could honestly be just about anything. Think of it as a userland HID manager for things that may not specifically be HID, but may go in your butt.
Or other places too! We're not completely butt-centric, despite the project name. And logo.
If you're a user that just wants to use your sex toys with pre-existing Buttplug software, check out Intiface Desktop.
- Support The Project
- Documentation
- Hardware Support
- Installation
- Development Branches
- Compiling
- Client Software (Buttplug Server, Game Vibration Router)
- Third Party Applications Using Buttplug-C#
- License
If you find this project helpful, you can support us via Patreon! Every donation helps us afford more hardware to reverse, document, and write code for!
Documentation is available for the Buttplug Protocol and Frameworks, as well as this specific library.
The Buttplug Developer Guide is the best introduction to how Buttplug works as a system. It provides an architectural overview of the various libraries and development strategies, as well as code examples in multiple languages.
https://buttplug-developer-guide.docs.buttplug.io
Want to know what using the library looks like in code? The project includes some heavily commented examples!
- Part 1 - Embedded Connectors
- Part 2 - Remote Connectors
- Part 3 - Connection Lifetimes and Ping Timers
- Part 4 - Device Enumeration
- Part 5 - Device Control
- Part 6 - Logging and Error Handling
- Part 7 - Full Example Program
For examples of Xamarin (Android/iOS) applications, see the buttplug-xamarin-examples repo.
API documentation for the current release is available at https://buttplug-csharp.docs.buttplug.io.
API documentation for the current development branch is available at https://buttplug-csharp-dev.docs.buttplug.io.
Buttplug implementations are available in multiple languages (rust, javascript, etc)/frameworks/platforms. For a full list of documentation, libraries, and applications, see the buttplug.io website.
Buttplug C# Supports the following Devices:
- BLE Devices
- Fleshlight Launch
- Kiiroo Toys (Onyx, Pearl, Onyx 2, Pearl 2)
- LiBo Toys
- Lovense Toys
- Magic Motion Toys
- Mysteryvibe Crescendo and Tenuto
- OhMiBod Fuse
- Svakom Ella
- Vibratissimo Toys
- Vorze Interactive A10 Cyclone SA
- Vorze UFO SA
- WeVibe Toys
- Youcups Warrior II
- USB Devices
- Rez Trancevibrator
- Vorze Cyclone X10
- RealTouch
- Other Devices
- Xbox Compatible Gamepads (XInput, Vibration Control Only)
Operating System support is as follows:
-
Windows 10 - Creators Update (15063, April 2017) or later
- All Devices
-
Windows 7/8 and 10 pre 15063
- All USB/Serial/Other Devices (No Bluetooth)
-
Linux/Mac (Mono)
- All USB/Serial Devices (No Bluetooth, No XInput)
-
Android/iOS (Xamarin)
- All Bluetooth LE devices (No USB, No XInput, No Serial)
Check https://buttplug.io for a list a fully up-to-date list of supported hardware, as well as planned hardware support.
Packages and libraries from the buttplug-csharp repo are available via nuget. Simply run a search for "buttplug", or follow this link to the nuget "buttplug" search.
There are 2 main branches:
- master - The current release code for the library
- dev - The current development code for the library
When submitting patches, they should be based on the current state of the dev branch, and should use dev as their target. The master branch is kept synced to release so our documentation matches expectations.
The project should compile with Visual Studio 2017, Visual Studio on Mac (.Net Standard projects only), or Mono on linux (.Net Standard projects only).
Note that for building using Visual Studio on Windows 7/8/10, the project requires the Windows 10 SDK to be installed.
Note that some of the Windows 10 SDK links in the UWP Bluetooth Manager project are hard-linked to the C:\ drive. If your program files and SDKs are not on your C: drive, you may need to readjust these paths by hand.
- Intiface Desktop - Intiface Desktop sex toy server software
- Intiface Game Haptics Router - Reroute game vibration to sex toys
- ScriptPlayer - Native hardware synced movie player for Windows.
- Caveman BIOS Teaches Typing - Typing Training Game
Buttplug is BSD 3-Clause licensed. More information is available in the LICENSE file.