Skip to content

deadpixelsociety/gspot

Repository files navigation

gspot

gspot logo

A Godot 4 Plugin for interacting with intimate haptic devices via the buttplug.io interface.

This plugin provides a buttplug.io standard compatibile client implementation. To interact with devices a server is also required. See Intiface Central.

Review the protocol specification for an idea of how to interact with this plugin and proper device flow.

A client control panel is provided for testing devices and getting familiar with the client.

Quick Example

# Get the client from the scene tree.
var client = $GSClient
# Connect to the device server.
client.start("localhost", 12345)
# Wait for connection.
await client.client_connection_changed
# Request the device list from the server.
client.request_device_list()
# Wait for devices to arrive.
await client.client_device_list_received
# Grab the first device.
var device = client.get_device(0)
# Grab the first feature. We'll assume it's a vibrate function or something fun.
# You will want something more robust.
var feature = device.features[0]
# Send the feature to the server, triggering it's action at max (1.0) power for 5 seconds.
client.send_feature(feature, 1.0, 5.0)

Apps Made Using gspot!

  • vibecheck - An app that adds Twitch integration to your toys.
  • godohmygod - An editor plugin for Godot that adds toy support while coding.

Games Made Using gspot!

  • Mousegun by Shinlalala - Mousegun is a retro FPS in which you take control of the titular character in an action filled adventure.

Attribution

The gspot icon was created by Kokota and distributed under the Creative Commons Attribution License (CC BY 3.0)

About

Godot 4 Plugin for buttplug.io

Resources

License

Stars

Watchers

Forks

Packages

No packages published