Skip to content

Commit c5dd1a8

Browse files
committed
doc: Update License and README
1 parent 3fdd6bc commit c5dd1a8

File tree

2 files changed

+57
-81
lines changed

2 files changed

+57
-81
lines changed

LICENSE.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2020, Nonpolynomial Labs, LLC
1+
Copyright (c) 2020-2021, Nonpolynomial Labs, LLC
22
All rights reserved.
33

44
Redistribution and use in source and binary forms, with or without
@@ -25,3 +25,32 @@ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
2525
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
2626
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2727
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28+
29+
---
30+
31+
Buttplug Unity uses code from the IL2CPPStartProcess project:
32+
https://github.com/josh4364/IL2cppStartProcess
33+
34+
Covered under the following MIT license:
35+
36+
MIT License
37+
38+
Copyright (c) 2019 June, Michał Petryka and Łukasz Jurczyk
39+
40+
Permission is hereby granted, free of charge, to any person obtaining a copy
41+
of this software and associated documentation files (the "Software"), to deal
42+
in the Software without restriction, including without limitation the rights
43+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
44+
copies of the Software, and to permit persons to whom the Software is
45+
furnished to do so, subject to the following conditions:
46+
47+
The above copyright notice and this permission notice shall be included in all
48+
copies or substantial portions of the Software.
49+
50+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
51+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
52+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
53+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
54+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
55+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
56+
SOFTWARE.

README.md

Lines changed: 27 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,15 @@
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

98
Unity 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-
2310
Buttplug Unity contains a Intiface CLI executable, so Intiface Desktop
2411
is not required. It is still recommended that you allow users to
2512
connect 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-
5330
See the [Buttplug Unity example
5431
directory](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)
5733
for code and usage advice.
5834

5935
Using Buttplug consists of the following steps:
@@ -79,79 +55,50 @@ soon.
7955
### What hardware will this work with?
8056

8157
An 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
11179
assure 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

Comments
 (0)