{"id":13779057,"url":"https://github.com/buttplugio/buttplug-unity","last_synced_at":"2026-02-27T16:34:13.145Z","repository":{"id":39536380,"uuid":"360779597","full_name":"buttplugio/buttplug-unity","owner":"buttplugio","description":"Unity plugin for Buttplug.io","archived":false,"fork":false,"pushed_at":"2024-09-06T00:28:25.000Z","size":2492,"stargazers_count":44,"open_issues_count":2,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-03T19:47:33.144Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/buttplugio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"qdot","patreon":"qdot","ko_fi":"qdot76367"}},"created_at":"2021-04-23T06:03:55.000Z","updated_at":"2025-05-24T02:22:44.000Z","dependencies_parsed_at":"2024-01-15T21:49:19.918Z","dependency_job_id":"941b1255-fcb6-4398-9922-0bd3883fc929","html_url":"https://github.com/buttplugio/buttplug-unity","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/buttplugio/buttplug-unity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buttplugio%2Fbuttplug-unity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buttplugio%2Fbuttplug-unity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buttplugio%2Fbuttplug-unity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buttplugio%2Fbuttplug-unity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/buttplugio","download_url":"https://codeload.github.com/buttplugio/buttplug-unity/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buttplugio%2Fbuttplug-unity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29904391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T14:46:13.553Z","status":"ssl_error","status_checked_at":"2026-02-27T14:46:10.522Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T18:01:00.555Z","updated_at":"2026-02-27T16:34:13.128Z","avatar_url":"https://github.com/buttplugio.png","language":"C#","readme":"# Buttplug Unity\n\n[![openupm](https://img.shields.io/npm/v/com.nonpolynomial.buttplug-unity?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.nonpolynomial.buttplug-unity/)\n[![Patreon donate button](https://img.shields.io/badge/patreon-donate-yellow.svg)](https://www.patreon.com/qdot)\n[![Github sponsor button](https://img.shields.io/static/v1?label=Sponsor\u0026message=%E2%9D%A4\u0026logo=GitHub)](https://github.com/sponsors/qdot)\n[![Discord](https://img.shields.io/discord/353303527587708932.svg?logo=discord)](https://discord.buttplug.io)\n[![Twitter](https://img.shields.io/twitter/follow/buttplugio.svg?style=social\u0026logo=twitter)](https://twitter.com/buttplugio)\n\nUnity Package for Buttplug support in Unity 2019.4+.\n\n**NOTE:** This package *may* work as far back as Unity 2018.2, but for anything before Unity 2019.4, you may need to provide your own Newtonsoft.Json.dll package. We now rely on the built-in library from unity by default.\n\nButtplug Unity is a repackage of the [Buttplug C# Libraries](https://github.com/buttplugio/buttplug-csharp) for Unity. \n\nUnlike older versions. Buttplug Unity v3 and later **DO NOT CONTAIN ANY EXECUTABLES OR WAYS TO ACCESS HARDWARE**. It is assumed that users will have [Intiface Central](https://intiface.com/central) installed.\n\nIt is highly recommended that developers check out the [Buttplug Developer Guide](https://docs.buttplug.io/docs/dev-guide) for more info on Buttplug architecture and usage before delving into using this package with their Unity project.\n\n## Installation\n\n### Option #1: OpenUPM CLI\n\nIf you have the [OpenUPM command line interface](https://openupm.com/docs/getting-started.html#installing-openupm-cli)\ninstalled, then this is the fastest way to add the package to your project:\n\n- Open your Unity project folder in a terminal like CMD or PowerShell\n- Run `openupm add com.nonpolynomial.buttplug-unity`\n\n### Option #2: Use OpenUPM's Installer Package\n\nYou can download and import the ButtplugUnity installer package which sets up the package reference and then removes itself.\n\n- Download the [Latest Buttplug Unity Installer Package](https://package-installer.glitch.me/v1/installer/OpenUPM/com.nonpolynomial.buttplug-unity?registry=https%3A%2F%2Fpackage.openupm.com)\n- In Unity, use `Assets \u003e Import Package \u003e Custom Package...`\n- Open the downloaded package.\n- Click `Import`\n\n### Option #3: Edit Package Manager\n\nYou can also manually perform the setup steps in Unity 2019+.\n\nAdd the OpenUPM registry and Buttplug Unity's scope to Project Settings:\n![image](https://user-images.githubusercontent.com/33731102/117752226-86a26800-b26a-11eb-998b-6e038eb19fe4.png)\n- Go to `Edit \u003e Project Settings \u003e Package manager`\n- Click the `+` button in the registry list\n- Name it `OpenUPM`\n- Set the URL to `https://package.openupm.com`\n- Set the Scope to `com.nonpolynomial.buttplug-unity`\n- Click `Apply`\n\nAdd the Buttplug Unity package in the Package Manager:\n![image](https://user-images.githubusercontent.com/33731102/117750921-5b1e7e00-b268-11eb-80eb-0746c0cdf798.png)\n- Go to `Window \u003e Package Manager`\n- Use the drop down in the upper left to select `My Registeries`\n- Select the `ButtplugUnity` package\n- Click `Install`\n\n### Options #4: Clone This Project\n\nThis is a fully functional Unity project that you can clone as your own. This will mean you have the Buttplug Unity package files locally,\nso you'll need to manually update the package or pull latest from this project as updates are made.\n\n- Clone `https://github.com/buttplugio/buttplug-unity` with your favorite Git client\n- Open root of the cloned project folder in Unity \u003e= 2019.\n- Open the `Example/Example.unity` scene file to run the example script.\n\n## Usage\n\nSee the [Buttplug Unity example\ndirectory](https://github.com/buttplugio/buttplug-unity/tree/master/Assets/Example) as\nwell as the [Buttplug Developer Guide](https://docs.buttplug.io/docs/dev-guide)\nfor code and usage advice.\n\nNote that this repo is a complete Unity project that can be opened and run in Unity.\n\nUsing Buttplug consists of the following steps:\n\n- Setting up a connector and client\n- Connecting to a server\n- Scanning for devices\n- Controlling devices\n\nIn Buttplug C# (which Buttplug Unity is built on), most of these are async\nfunctions, as accessing both the network and the hardware are slow functions\nthat can block. We highly recommend executing tasks on background thread pools,\nas not to interrupt game actions.\n\n## FAQ\n\n### What hardware will this work with?\n\nAn up-to-date list is kept at [IOSTIndex, using the Buttplug C#\nfilter](https://iostindex.com/?filtersChanged=1\u0026filter0Availability=Available,DIY\u0026filter1ButtplugSupport=4).\n\n### Why do I have to run Intiface Central alongside my game?\n\n[Intiface Central](https://intiface.com/central) is a cross platform application for running Buttplug servers and managing updates. Buttplug (the library) and Intiface (the official application layer on top of Buttplug) change frequently and allow for deep user configuration. Intiface Central manages those updates and configuration, meaning game devs only need to worry about connecting to Central and controlling devices.\n\nWhy not run hardware access inside the game process? By hosting hardware access externally, we\nminimize the impact of errors and crashes on the game process. While we certainly do our best to\navoid errors, dealing with hardware can sometimes be a dynamic and challenging situation, where an\nextended period of normal usage can be suddenly interrupted by shit going absolutely fucked. By\nkeeping process separation as a boundary, we can assure games that as much of the fuckery as\npossible stays on the Buttplug side.\n\n### Does Buttplug Unity work with IL2CPP?\n\nYes.\n\n### Can I use Buttplug Unity in my commercial game?\n\nYes, Buttplug Unity falls under the same BSD 3-Clause license as the rest of the library, meaning\nyou just need a copyright acknowledgement in your game credits and license file. If you are\ninterested in featuring our logos on your loading screen (which we appreciate!), please contact us\non [Discord](https://discord.buttplug.io) or [Twitter](https://twitter.com/buttplugio) to discuss.\n\n### How can I get direct support from the Buttplug developers for my game?\n\nThe Buttplug Developers are happy to consider paid support contracts. Please contact us on\n[Discourse](https://discuss.buttplug.io), [Discord](https://discord.buttplug.io) or\n[Twitter](https://twitter.com/buttplugio) to discuss.\n\n### I don't see my question here, what should I do?\n\n- File an issue on this repo\n- [Check our forums](https://discuss.buttplug.io)\n- [Join the Discord Server](https://discord.buttplug.io) and ask there\n\n## Contributing\n\nIf you have issues or feature requests, [please feel free to file an issue on this repo](issues/).\n\nWe are not looking for code contributions or pull requests at this time, and will not accept pull\nrequests that do not have a matching issue where the matter was previously discussed. Pull requests\nshould only be submitted after talking to [qdot](https://github.com/qdot) via issues on this repo\n(or on [discourse](https://discuss.buttplug.io) or [discord](https://discord.buttplug.io) if you\nwould like to stay anonymous and out of recorded info on the repo) before submitting PRs. Random PRs\nwithout matching issues and discussion are likely to be closed without merging. and receiving\napproval to develop code based on an issue. Any random or non-issue pull requests will most likely\nbe closed without merging.\n\nIf you'd like to contribute in a non-technical way, we need money to keep up with supporting the\nlatest and greatest hardware. We have multiple ways to donate!\n\n- [Patreon](https://patreon.com/qdot)\n- [Github Sponsors](https://github.com/sponsors/qdot)\n- [Ko-Fi](https://ko-fi.com/qdot76367)\n\n## License\n\nThis project is BSD 3-Clause licensed.\n\n```text\n\nCopyright (c) 2016-2024, Nonpolynomial, LLC\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of buttplug nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```","funding_links":["https://github.com/sponsors/qdot","https://patreon.com/qdot","https://ko-fi.com/qdot76367","https://www.patreon.com/qdot"],"categories":["Development and Libraries"],"sub_categories":["Game Development"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuttplugio%2Fbuttplug-unity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbuttplugio%2Fbuttplug-unity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuttplugio%2Fbuttplug-unity/lists"}