Welcome to the Buttplug Developer Guide, your guide to developing Buttplug.

By the time you finish reading this guide, you will be an expert in using the Buttplug protocol and reference libraries, and/or you will be very confused.

What Even Is Buttplug?

For the purposes of this guide, "Buttplug" refers to two things:

  • An abstract protocol for enumerating, connecting to, and controlling intimate interaction hardware (sex toys, estim, fucking machines, etc...).
  • Reference implementations of the aforementioned protocol in a specific programming languages/environment, providing an API for developers to build applications on.

"Buttplug" used alone usually refers to the protocol, while "Buttplug [language]" (like "Buttplug C#") refers to the reference implementation in a specific language (C#, in this case).

So Does It Just Control Buttplugs?

This is one of the most asked questions around the Buttplug project. The Buttplug project was built to control all sorts of hardware, not just buttplugs. As of this writing, implementations can control:

  • Gamepads
  • Vibrators (of all sorts, be it rabbit, buttplug, prostate, wand, etc...)
  • Strokers
  • Electostimulation

This list will continue to grow over time.

Why is it called Buttplug?

Some of the reasons the project is named Buttplug are:

  • A buttplug (the toy) is a non-gender-specific sex toy. Everyone has a butt. Butts are inclusive.
  • Technology and the surrounding culture is far to sterile. Buttplugs, used correctly, are usually not.
  • It seemed funny at the time, even though no thought was put into how it would sound when needing to be mentioned in press articles, grant applications, etc...
    • Upon further consideration, that made it even funnier.

This list will also continue to grow over time, as the project leadership continue to try and convince itself this was a good branding choice.