Skip to main content

Welcome to the Buttplug Dev Guide!

Welcome to the Buttplug Developer Guide, your guide to developing applications with the Buttplug Intimate Hardware Control Library.

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

What Even Is Buttplug?

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

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

"Buttplug" used alone usually refers to the system in the abstract, while "Buttplug [language]" (like "Buttplug C#") refers to the implementations of the system in a specific programming language (C#, in this case).

Any point where the term "Buttplug" is used to refer to the toy type will be used as a subject without capitalization, i.e. "a buttplug" or "the buttplug". Hopefully that won't happen very often here though.

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. For the most up to date version, checkout IOSTIndex, the most comprehensive list of sex tech devices on the internet. There are filters that will allow you to see which devices are supported by the library.

Why is the project 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 too sterile. Buttplugs, used correctly, are usually not.
  • It seemed funny at the time when the project was starting, even though no thought was put into how it would sound when being mentioned in press articles, grant applications, etc...
    • Upon further consideration and with some history behind it, that has made it even funnier.

This list will also continue to grow over time, as I try and convince myself this was a good branding choice.