Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/PITR-DEV/ukbutt-mod
An Official ULTRAKILL Mod that adds buttplug.io support.
https://github.com/PITR-DEV/ukbutt-mod
Last synced: about 2 months ago
JSON representation
An Official ULTRAKILL Mod that adds buttplug.io support.
- Host: GitHub
- URL: https://github.com/PITR-DEV/ukbutt-mod
- Owner: PITR-DEV
- License: mit
- Created: 2022-12-07T04:03:43.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-21T00:20:44.000Z (9 months ago)
- Last Synced: 2024-08-03T18:13:48.159Z (5 months ago)
- Language: C#
- Size: 3.07 MB
- Stars: 110
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-buttplug - UKButt Ultrakill Mod
README
# UKButt
Short link: [pitr.dev/ukbutt](https://pitr.dev/ukbutt)
UKButt is an official [BepInEx](https://github.com/BepInEx/BepInEx) mod for [ULTRAKILL](http://devilmayquake.com) that adds [buttplug.io](https://buttplug.io/) support.
## Resources
- **[Download Latest Release](https://github.com/PITR-DEV/ukbutt-mod/releases/latest)**
- **[Installation](#installation)**
- **[Running](#running)**
- **[Configuration](#configuration)**
- **[Default Values](#default-values)**
- **[Input Modes](#inputmodes)**
- **[Passthrough Mode](#passthrough-mode)**
- **[The buttplug.io standard](https://buttplug.io/)**
- **[Buttplug.io/Intiface Discord Server (for support questions)](https://discord.buttplug.io)**## Video
[![IMAGE ALT TEXT HERE](https://i3.ytimg.com/vi/6r13L1yvtYA/maxresdefault.jpg)](https://www.youtube.com/watch?v=6r13L1yvtYA)
## Installation
[Start by installing BepInEx 5.4.21](https://docs.bepinex.dev/articles/user_guide/installation/index.html)
You can also follow one of the [Community](https://youtu.be/meNiXcbPh_s) [Made](https://youtu.be/db3Cwlv-S-8?t=1624) Videos, since BepInEx is commonly used.
Next, download the latest release from the [release page](https://github.com/PITR-DEV/ukbutt-mod/releases/latest) and extract the dll files into **ULTRAKILL/BepInEx/plugins**.
Lastly, you need to install [Intiface Central](https://intiface.com/central/) from buttplug.io.
The mod connects to Intiface on port 12345 by default, which is the default port for Intiface Central as well.
## Running
Before starting the game itself, launch Intiface Central and start the Intiface Server with the big Start Server button.
![Intiface Central](https://github.com/PITR-DEV/ukbutt-mod/blob/master/images/intiface_central_PDJp72icP1.png?raw=true)
That's where you can configure the server and the devices you want to use.
You might have to enable some devices in the settings, depending on what it is.
### ULTRAKILL
Next, you should be able to start the game and see Intiface Central connect to the game.
The mod should be functional now.
## Configuration
The mod uses ULTRAKILL's preference system and saves its configuration into the Steam Cloud-less **ULTRAKILL/Preferences/LocalPrefs.json** file,
with a `ukbutt.` prefix.Preferably, you should change them using the in-game console available by pressing **F8**.
You can use the `ukbutt` command to list all available commands.
or `ukbutt prefs` to get the list of all available preferences and how to change them.
![Console](https://github.com/PITR-DEV/ukbutt-mod/blob/master/images/ULTRAKILL_xkNU4TP8PV.png?raw=true)
## Default Values
| Key | Type | Description | Default |
|-----------------------------|----------|-------------------------------------------------------------------------|------------------------|
| `ukbutt.socketUri` | `string` | The URI of the Intiface Server. | `ws://localhost:12345` |
| `ukbutt.strength` | `float` | The strength of the vibration. | `0.8` |
| `ukbutt.stickForSeconds` | `float` | The minimum duration of a vibration. (in seconds) | `2.0` |
| `ukbutt.tapStickForSeconds` | `float` | Same as above, but for events marked as subtle. | `0.2` |
| `ukbutt.useUnscaledTime` | `bool` | Whether to use unscaled (real) time for the duration of the vibration. | `false` |
| `ukbutt.enableMenuHaptics` | `bool` | Whether to enable haptics in the main menu. | `true` |
| `ukbutt.inputMode` | `int` | The current [InputMode](#inputmodes). | `1` |
| `ukbutt.strokeWhileIdle` | `bool` | If in menu or rank == 0, stroke at lowest speed (rank mode only) | `false` |
| `ukbutt.linearPosMin` | `float` | Lowest position for stroker movement (rank mode only) | `0.1` |
| `ukbutt.linearPosMax` | `float` | Highest position for stroker movement (rank mode only) | `0.9` |
| `ukbutt.linearTimeMin` | `float` | Stroker frequency timing in seconds (rank at ULTRAKILL, rank mode only) | `0.3` |
| `ukbutt.linearTimeMax` | `float` | Stroker frequency timing in seconds (rank at None/Idle, rank mode only) | `1.5` |## InputModes
| Index | Description |
|-------|--------------------|
| `0` | Nothing |
| `1` | Varied (_default_) |
| `2` | Continuous Rank |
| `3` | Passthrough |You can change the input mode in-game by using `prefs set_local int ukbutt.inputMode `
Mode interaction with hardware:
* Varied
* Vibration will be triggered on certain actions, including shooting, doors, sliding, menu haptics (if set), etc...
* No effect on strokers
* Continuous Rank
* Vibration speed or stroker oscillation frequency is set by current style rank. The higher the
rank, the faster the vibration or stroking.
* Passthrough
* Vibration will be the same, as what the game sends to standard controllers.## Passthrough Mode
Note that if you're using the Passthrough mode, the preferences set through the mod won't be used.
In that mode, you can configure the values via the in-game `General > Controller Rumble > Customize` menu.
![img_1.png](https://github.com/PITR-DEV/ukbutt-mod/blob/master/images/ULTRAKILL_kdJQzj2EeB.png)
## Support
If you have issues installing or using Intiface Central, you can either [visit the Buttplug.io discord](https://discord.buttplug.io) or [DM the @buttplugio twitter account](https://twitter.com/buttplugio).
If you need a list of hardware supported by Intiface Central, [visit IOSTIndex.com, which has a full list of supported hardware](https://iostindex.com/?filter0Availability=Available,DIY&filter1Connection=Digital&filter2ButtplugSupport=4).