BasicButtManager 1.0.6

There is a newer version of this package available.
See the version list below for details.
dotnet add package BasicButtManager --version 1.0.6                
NuGet\Install-Package BasicButtManager -Version 1.0.6                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BasicButtManager" Version="1.0.6" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BasicButtManager --version 1.0.6                
#r "nuget: BasicButtManager, 1.0.6"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BasicButtManager as a Cake Addin
#addin nuget:?package=BasicButtManager&version=1.0.6

// Install BasicButtManager as a Cake Tool
#tool nuget:?package=BasicButtManager&version=1.0.6                

Basic Butt Manager Smiling Peach

A basic wrapper around qdot's amazing haptics library, with the aim of providing a simple interface for integrating adult toy controls into Unity games / .NET applications (e.g. through mods). Not suitable for complex projects!

Usage

To set all your machines to half intensity:

  1. Launch Intiface ©️ Central and connect your toys.
  2. Add this NuGet package to your project.
  3. Somewhere in your code...
BasicButtManager manager = new BasicButtManager("Love Rhythm");
manager.Set(0.5f);
manager.Exit();

WARNING

If you are MODDING an existing project, please use ButtServer + ButtClient instead.

Explanation:

This is a lower-level, framework-dependent (.NET 4) package meant for developers working on their own projects where they can control the underlying framework. For example, there are some compatibility issues between certain packages used by (the dependencies of) the underlying Buttplug package and some versions of the .NET framework.

This concern is taken care off under the hood automatically by the Butt Server, which is a standalone executable tested and known to work with Buttplug. The Butt Client (which you as a modder will hook into the existing game/application) then uses bare minimum socket logic to communicate with ButtServer, independent of any potential framework-dependent libraries.

Communication Path

The typical communication path goes like this:

Existing Unity Game --> BepinEx + Harmony --> ButtClient --> ButtServer --> BasicButtManager --> Intiface Central --> Toys
      (C# hook)                                 (.dll)         (.exe)            (.dll)               (.exe)    

So once again, DO NOT expect to just plug this .dll into an existing Unity game on Steam and just expect it to work! It works just wonderfully fine though if you are creating your own .NET 4 project from scratch. Have fun modding! ❤️

Wiki

Click here to view the documentation!

Credits

Buttplug: qdot@github.com | Favicon: freepik@flaticon.com

License

This project is BSD 3-Clause licensed.

Copyright (c) 2023, MLTorches
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

* Neither the name of the copyright holder nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Product Compatible and additional computed target framework versions.
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.7 170 8/25/2023
1.0.6 149 8/25/2023
1.0.5 156 8/19/2023
1.0.4 163 8/19/2023
1.0.3 153 8/18/2023
1.0.2 154 8/18/2023
1.0.1 160 8/18/2023
1.0.0 154 8/18/2023

Updated README.