22
33[ ![ Patreon donate button] ( https://img.shields.io/badge/patreon-donate-yellow.svg )] ( https://www.patreon.com/qdot )
44[ ![ Github sponsor button] ( https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub )] ( https://github.com/sponsors/qdot )
5- [ ![ Discourse Forum] ( https://img.shields.io/badge/discourse-forum-blue.svg )] ( https://metafetish.club )
65[ ![ Discord] ( https://img.shields.io/discord/353303527587708932.svg?logo=discord )] ( https://discord.buttplug.io )
76[ ![ Twitter] ( https://img.shields.io/twitter/follow/buttplugio.svg?style=social&logo=twitter )] ( https://twitter.com/buttplugio )
87
98Unity Package for Buttplug support in Unity 2018.2+.
109
11- Only the following classes should be used:
12-
13- - ButtplugClient
14- - ButtplugWebsocketConnector
15-
16- Trying to use an embedded connector will fail as no
17- DeviceSubtypeManagers are distributed with this package (UWP doesn't
18- play well with Unity, so you wouldn't get Bluetooth anyways). It is
19- expected that anything built with this will either connect to
20- [ Intiface Desktop] ( https://github.com/intiface/intiface-desktop ) or
21- [ Intiface CLI] ( https://github.com/intiface/intiface-cli-csharp ) .
22-
2310Buttplug Unity contains a Intiface CLI executable, so Intiface Desktop
2411is not required. It is still recommended that you allow users to
2512connect out to ID somehow, though.
2613
27- During the initial phase of rollout, Buttplug Unity will be updated frequently
28- and the API will change often. Any updates to the minor version (X in 0.X.Y)
29- will denote a breaking API change.
30-
3114## Installation
3215
3316- [ Download latest zip or tgz from releases section] ( https://github.com/buttplugio/buttplug-unity/releases )
@@ -38,22 +21,15 @@ will denote a breaking API change.
3821 - "Add Package from tarball" (if you downloaded the .tgz file).
3922 - ** Please note that "Add Package from git repo" will not work, see FAQ for
4023 reasoning** .
41- - If using Unity 2018, you will need to restart Unity in order for the
42- StreamingAssets additions to show up. Unity 2019 does not require
43- this.
24+ - If using Unity 2018, you will need to restart Unity in order for the StreamingAssets additions to
25+ show up. Unity >= 2019 does not require this.
4426- Start using Buttplug classes in your scripts.
4527
4628## Usage
4729
48- To use Buttplug Unity, you need to set your Windows Player Settings to
49- use script version .Net 4.X. Setting to .Net Standard 2.0 may result
50- in weird JSON issues at runtime on builds, see [ this issue on our
51- forums] ( https://github.com/buttplugio/buttplug-unity/issues/3 ) for more info.
52-
5330See the [ Buttplug Unity example
5431directory] ( https://github.com/buttplugio/buttplug-unity/tree/master/examples ) as
55- well as the [ Buttplug C#
56- examples] ( https://github.com/buttplugio/buttplug-csharp#library-usage-examples )
32+ well as the [ Buttplug Developer Guide] ( https://buttplug-developer-guide.docs.buttplug.io )
5733for code and usage advice.
5834
5935Using Buttplug consists of the following steps:
@@ -79,79 +55,50 @@ soon.
7955### What hardware will this work with?
8056
8157An up-to-date list is kept at [ IOSTIndex, using the Buttplug C#
82- filter] ( https://iostindex.com/?filter0ButtplugSupport=1 ) .
58+ filter] ( https://iostindex.com/?filtersChanged=1&filter0Availability=Available,DIY&filter1ButtplugSupport=4 ) .
8359
8460### How does the Buttplug Unity package change my Unity project?
8561
86- When the Buttplug Unity package is loaded, it checks to see whether a
87- [ StreamingAssets
88- directory] ( https://docs.unity3d.com/Manual/StreamingAssets.html ) already exists.
89- If not, it creates the directory, and under that, creates a Buttplug directory,
90- to which it copies the Intiface CLI executable. This allows us to make sure that
91- Unity packages the executable with your game.
62+ When the Buttplug Unity package is loaded, it checks to see whether a [ StreamingAssets
63+ directory] ( https://docs.unity3d.com/Manual/StreamingAssets.html ) already exists. If not, it creates
64+ the directory, and under that, creates a Buttplug directory, to which it copies the Intiface CLI
65+ executable. This allows us to make sure that Unity packages the executable with your game.
9266
93- As of 0.0.1, in order to make usage as work-free as possible, this functionality
94- is automatic and there is no way to turn it off. If this affects your project in
95- adverse ways, or if you would like to have the option to only use [ Intiface
96- Desktop] ( https://intiface.com/desktop ) versus handling the binary yourself,
97- please file an issue (or if one is already filed, add a +1 comment), and we'll
98- try to figure out another way to do this.
67+ As of 1.0.0, in order to make usage as work-free as possible, this functionality is automatic and
68+ there is no way to turn it off. If this affects your project in adverse ways, or if you would like
69+ to have the option to only use [ Intiface Desktop] ( https://intiface.com/desktop ) versus handling the
70+ binary yourself, please file an issue (or if one is already filed, add a +1 comment), and we'll try
71+ to figure out another way to do this.
9972
10073### Why do I have to run an outside process alongside my game?
10174
102- On windows, we use UWP to access bluetooth, which is how most sex toys
103- communicate with hosts. Direct linking UWP into Unity is an issue right now, so
104- we host this code in an external process.
105-
106- By hosting hardware access externally, we also minimize the impact of errors and
107- crashes on the game process. While we certainly do our best to avoid errors,
108- dealing with hardware can sometimes be a dynamic and challenging situation,
109- where an extended period of normal usage can be suddenly interrupted by shit
110- going absolutely fucked. By keeping process separation as a boundary, we can
75+ By hosting hardware access externally, we minimize the impact of errors and crashes on the game
76+ process. While we certainly do our best to avoid errors, dealing with hardware can sometimes be a
77+ dynamic and challenging situation, where an extended period of normal usage can be suddenly
78+ interrupted by shit going absolutely fucked. By keeping process separation as a boundary, we can
11179assure games that as much of the fuckery as possible stays on the Buttplug side.
11280
113- ### Why is the executable 75mb?
114-
115- At the moment, Buttplug Unity is built on top of the [ Buttplug
116- C#] ( https://github.com/buttplugio/buttplug-csharp ) implementation of the
117- [ Buttplug Protocol Standard] ( https://buttplug-spec.docs.buttplug.io ) . In order
118- to distribute this in a way that is both simple to package and requires the
119- least amount of work for Unity, we use .Net Core App 3.1 with the Single File
120- packing option. This means we bundle all of our dependencies down to the
121- framework level into the executable, which makes for a large binary.
122-
123- At some point in the near-to-medium future, we will be moving to [ Buttplug
124- Rust] ( https://github.com/buttplugio/buttplug-rs ) for our main implementation,
125- which should reduce the binary size by at least 10x if not more. This should
126- have no effect on games built with Buttplug Unity, other than reduced binary
127- sizes.
128-
12981### Does Buttplug Unity work with IL2CPP?
13082
131- Not yet. See
132- [ https://github.com/buttplugio/buttplug-unity/issues/1 ] ( https://github.com/buttplugio/buttplug-unity/issues/1 ) .
83+ Yes.
13384
13485### Why can't I add the package from a git repo?
13586
136- Due to the large binaries required for the package, keeping Buttplug-Unity
137- completely in a git repo would make the repo very large, very fast. Therefore we
138- only keep text files in the repo, and bring in binaries as part of our build
139- process.
87+ Due to the large binaries required for the package, keeping Buttplug-Unity completely in a git repo
88+ would make the repo very large, very fast. Therefore we only keep text files in the repo, and bring
89+ in binaries as part of our build process.
14090
14191### Can I use Buttplug Unity in my commercial game?
14292
143- Yes, Buttplug Unity falls under the same BSD 3-Clause license as the
144- rest of the library, meaning you just need a copyright acknowledgement
145- in your game credits and license file. If you are interested in
146- featuring our logos on your loading screen (which we appreciate!),
147- please contact us on [ Discord] ( https://discord.buttplug.io ) or
148- [ Twitter] ( https://twitter.com/buttplugio ) to discuss.
93+ Yes, Buttplug Unity falls under the same BSD 3-Clause license as the rest of the library, meaning
94+ you just need a copyright acknowledgement in your game credits and license file. If you are
95+ interested in featuring our logos on your loading screen (which we appreciate!), please contact us
96+ on [ Discord] ( https://discord.buttplug.io ) or [ Twitter] ( https://twitter.com/buttplugio ) to discuss.
14997
15098### How can I get direct support from the Buttplug developers for my game?
15199
152- The Buttplug Developers are happy to consider paid support contracts.
153- Please contact on [ Discord] ( https://discord.buttplug.io ) or
154- [ Twitter] ( https://twitter.com/buttplugio ) to discuss.
100+ The Buttplug Developers are happy to consider paid support contracts. Please contact on
101+ [ Discord] ( https://discord.buttplug.io ) or [ Twitter] ( https://twitter.com/buttplugio ) to discuss.
155102
156103### I don't see my question here, what should I do?
157104
0 commit comments