Skip to main content


In this section, we'll cover Buttplug's core protocol and architectures. Getting familiar with the terms here is important, as they will be used throughout the rest of this guide, as well as in identifiers (variable/method names, etc) in Buttplug itself.

None of this chapter is programming language specific. While how these structures are implemented across programming languages may differ, the general idea will be the same across most systems. Any stark differences should be called out in documentation for the specific language implementations.

If you don't understand this section on first read, THAT'S OK!

This guide is written in "theory then application" order. If you're more of an application than theory learner, that's fine! Just take a quick read through here, see what you pick up, then move on to the "Writing Applications" chapter and come back to this once you've gotten your hands (or other bits) dirty.

The information here is important, but if you don't get it on your first shot, that shouldn't stop you from reading the rest of the dev guide. Go play with the rest of the system and see if that helps. :D