/buttplug-csharp

C# (.Net Framework 4.7/Standard 2.0) Implementation of Buttplug Client/Server

Primary LanguageC#OtherNOASSERTION

Buttplug Protocol Implementation - C# .Net Standard/Framework

Build status codecov NuGet

Patreon donate button Discourse Forum Discord Twitter

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 looking for the installer for the Buttplug Server or Game Vibration Router software, visit the buttplug-windows-suite releases page.

Table Of Contents

Support The Project

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!

Usage Examples

Want to know what using the library looks like in code? The project includes some heavily commented examples!

API Documentation

API documentation for the current release is available at https://buttplug-csharp.docs.buttplug.io.

Buttplug Spec and Documentation

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.

Hardware Support

Buttplug C# Supports the following platforms:

  • Windows 10 - Creators Update (15063, April 2017) or later

    • BLE Devices
      • Fleshlight Launch
      • Kiiroo Toys (Onyx, Pearl, Onyx 2, Pearl 2)
      • LiBo Whale
      • Lovense Toys
      • Magic Motion Toys
      • Mysteryvibe Crescendo
      • OhMiBod Fuse
      • Vibratissimo Toys
      • Vorze Interactive A10 Cyclone SA
      • Vorze UFO SA
      • WeVibe Toys
      • Youcups Warrior II
    • USB Devices
      • Rez Trancevibrator
      • Vorze Cyclone X10
    • Serial Devices
      • ErosTek ET312B
    • Other Devices
      • Xbox Compatible Gamepads (XInput, Vibration Control Only)
  • Windows 7/8 and 10 pre 15063

    • Serial Devices
      • ErosTek ET312B
    • USB Devices
      • Rez Trancevibrator
      • Vorze Cyclone X10
    • Other Devices
      • Xbox Compatible Gamepads (XInput, Vibration Control Only)
  • Linux/Mac (Mono)

    • No hardware support currently

Check https://buttplug.io for a list a fully up-to-date list of supported hardware, as well as planned hardware support.

Installation

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.

Development Branches

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.

Compiling

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.

Client Software

Buttplug programs including

  • Buttplug Server
  • Game Vibration Router

have moved to the Buttplug Windows Suite Repo. To download the installer for these applications, visit the releases page for that repo.

Third Party Applications Using Buttplug C#

License

Buttplug is BSD 3-Clause licensed. More information is available in the LICENSE file.