OpenVR-Advanced-Settings / OpenVR-AdvancedSettings

OpenVR Advanced Settings Dashboard Overlay
GNU General Public License v3.0
1.26k stars 128 forks source link

language dependencies license_gpl3

Build status Build Status

Discord Shield

OpenVR Advanced Settings Overlay

Adds an overlay to the OpenVR dashboard that allows access to advanced settings and useful utilities.

Example Screenshot

Features

Do all this without leaving VR:

Usage

Windows

Steam

Get it on Steam at OVR Advanced Settings

Note: Please Un-install Other Versions Before Installing Via Steam.

Installer

Download the newest installer from the release section and run it.

If you have an older standalone version installed, the installer will automatically uninstall the old version and install the new version.

Standalone

Download the newest standalone archive from the release section and unpack the archive.

To install for the first time simply start AdvancedSettings.exe once while SteamVR is running. It will register with SteamVR and automatically starts whenever SteamVR starts (Can be disabled in the settings).

To upgrade an existing installation first stop SteamVR and delete the old application folder (or override it). Then start SteamVR and run AdvancedSettings.exe once.

Linux

Steam for Linux

Get it on Steam at OVR Advanced Settings

Note: Please Un-install Other Versions Before Installing Via Steam.

AppImage

The AppImage can be found in the release section and should run on most common Linux distributions.

Simply double click the AppImage once downloaded to run it. Depending on your distribution you may need to make it executable with chmod +x OpenVR_Advanced_Settings*.

If the AppImage doesn't work for whatever reason, please create an issue here describing the problem and try compiling from source.

Arch/Manjaro

OpenVR Advanced Settings is on the Arch User Repository as ovras. Manjaro users can enable the AUR and install this package using pamac build ovras.

Building from Source

Detailed instructions are available here.

Guides

Overall Feature Overview Guides

SteamVR Input System (keybinds for app)

Keyboard Binding System

Pairing Cheat Sheet

Bindings

For information on how to properly set-up bindings see: SteamVR Input System Guide

The following actions currently exist:

Music

Actions associated with media player.

Action Type Explanation
Play Next Track Binary/Button The same as using the media keys. Tells a media player to play the next song.
Play Previous Track Binary/Button The same as using the media keys. Tells a media player to play the previous song.
Pause/Play Track Binary/Button The same as using the media keys. Tells the media player to press play/pause.
Stop Track Binary/Button The same as using the media keys. Tells the media player to stop playback.

Motion

Actions associated with motion tab, and motion.

Override actions will take priority over non-override actions during simultaneous activation. Example: binding space turn to single click and space drag (override) to double click on the same physical button.

Action Type Explanation
Left Hand Space Turn Binary/Button Rotates PlaySpace based on left controller rotation while held.
Right Hand Space Turn Binary/Button Rotates PlaySpace based on right controller rotation while held.
Left Hand Space Drag Binary/Button Moves PlaySpace based on left controller position while held.
Right Hand Space Drag Binary/Button Moves PlaySpace based on right controller position while held.
(Optional Override) Left Hand Space Turn Binary/Button Override version: will activate instead of non-override during simultaneous activation.
(Optional Override) Right Hand Space Turn Binary/Button Override version: will activate instead of non-override during simultaneous activation.
(Optional Override) Left Hand Space Drag Binary/Button Override version: will activate instead of non-override during simultaneous activation.
(Optional Override) Right Hand Space Drag Binary/Button Override version: will activate instead of non-override during simultaneous activation.
Swap Active Space Drag to Left Hand (Override) Binary/Button Activates space drag on left controller only if right controller is currently active in space drag. (Useful for climbing motions)
Swap Active Space Drag to Right Hand (Override) Binary/Button Activates space drag on right controller only if left controller is currently active in space drag. (Useful for climbing motions)
Gravity Toggle Binary/Button Toggles Gravity state when pressed.
Gravity Reverse Binary/Button Temporarily Reverses Gravity while held.
Reset Offsets Binary/Button Resets your offset and rotation to 0.
Apply Offsets Binary/Button Recalibrates center/rotation from offsets
Height Toggle Binary/Button Shifts the gravity floor level by offset configured in motion tab. If gravity is inactive: also shifts the user's current y-axis position by offset configured in motion tab.
Snap-Turn Left Binary/Button Rotates a set value to the left based on settings in motion tab.
Snap-Turn Right Binary/Button Rotates a set value to the right based on settings in motion tab.
Smooth-Turn Right Binary/Button Rotates an amount per frame to the right based on settings in motion tab.
Smooth-Turn Left Binary/Button Rotates an amount per frame to the left based on settings in motion tab.
Auto-Turn Toggle Binary/Button Toggles the Auto-Turn Feature on/off.

Misc.

Actions that don't have a clear category.

Action Type Explanation
X-Axis Lock Toggle Binary/Button Toggles the lock of the X-Axis for offsets.
Y-Axis Lock Toggle Binary/Button Toggles the lock of the Y-Axis for offsets.
Z-Axis Lock Toggle Binary/Button Toggles the lock of the Z-Axis for offsets.
Chaperone Toggle Binary/Button Toggles the chaperone on/off.
Keyboard Shortcut One Binary/Button Sends the key sequence defined the the settings file. Defaults to Ctrl+Shift+M (Discord default toggle mute).
Keyboard Shortcut Two Binary/Button Sends the key sequence defined the the settings file. This has no default sequence.
Keyboard Shortcut Three Binary/Button Sends the key sequence defined the the settings file. This has no default sequence.
Key Press Misc Binary/Button Sends the key press defined in the settings file. Defaults to F9

System.

Actions That will stay active regardless of the situation.

Action Type Explanation
Push to Talk Binary/Button Acts as starter for PTT, can mute if push-to-mute is selected.
Add Left Haptic Click Binary/Button simulates a "click" with controller haptics. (left hand)
Add Right Haptic Click Binary/Button simulates a "click" with controller haptics. (right hand)
Key Press System Binary/Button Sends the key press defined in the settings file. Defaults to F9
Exclusive Input Toggle Binary/Button Switches between App and OVRAS keybinds, note: OVRAS's system Key-Binds remain active all the time

Haptics.

These Actions are Hidden, They are bound by default. They allow the application to use the haptics and proximity sensor in HMD's.

Action Type Explanation
Haptics Left Vibration Handle for haptic events on the Left Controller. Do not "bind" this action
Haptics Right Vibration Handle for haptic events on the Right Controller. Do not "bind" this action
Proximity Sensor Binary/Button Connects Automatically to your HMD's proximity sensor. Do not "bind" this action, it will cause un-predictable behavior.

Default Bindings

Vive Wands

Valve Index Controllers (Knuckles)

WMR

Touch

Other Controllers

No current default bindings you will have to make your own.

Command Line Arguments

The application (AdvancedSettings.exe) can be run with the following optional arguments:

"--desktop-mode": Creates a settings window on the desktop, but not in VR. Running startdesktopmode.bat in the install directory has the same effect.

"--force-no-sound": Forces sound effects off.

"--force-no-manifest": Forces not using a .vrmanifest.

"--force-install-manifest": Force installs the .vrmanifest and adds the application to autostart. If you're having issues with autostart not working try running the program once with this set. The program will exit early when this flag is set.

"--force-remove-manifest": Force uninstalls the .vrmanifest. This should be done every time the application is uninstalled. On Windows it is automatically done by the uninstaller. The program will exit early when this flag is set.

"--reset-steamvr-settings": Resets the SteamVR settings we adjust to Steam's Default Values.

INI File Options

There are some features that can only be enabled by directly specifying them in the .ini file. On windows the .ini file can be found at Users\username\AppData\Roaming\AdvancedSettings-Team\OpenVRAdvancedSettings.ini.

When adding options to the .ini file, they must be added under the correct section to function.

Currently the following ini-file-only settings exist:

Under [playspaceSettings] adding showLogMatricesButton=true will enable a button in the Offsets Tab that when pressed will write a section to the log file containing the current pose matrix data for tracked devices and universe settings.

Also under [playspaceSettings] adding simpleRecenter=true will disable a workaround that allows seated recenter to function on non-lighthouse devices. The workaround instantly applies a second seated recenter whenever a seated recenter is executed. Because simpleRecenter=true will break non-lighthouse seated mode, and true/false behavior is indistinguishable on lighthouse devices, usage of simpleRecenter=true is not recommended.

Under [utilitiesSettings] adding vrcDebug=true will enable some buttons in the Utilities Tab to toggle debug panels in VRChat.

Under [applicationSettings] adding enableDebug=true will show a "Debug State" text box in the Settings Tab. Changing the debug state number may be used for in-dev branch builds. At this time, it doesn't do anything on the master build.

Preview builds

If you want to try latest and greatest unreleased features, you can download the latest from the CI (Continuous Integration) server for Windowsand Linux (gcc build, CircleCI issue requires login to see artifact tab).

These version are not stable and this should be considered for advanced users only.

Un-Installing

Windows

Documentation

Top Page

Root Page

- SteamVR Page

SteamVR Page

- SteamVR Pair Page

SteamVR Pair Page

- Chaperone Page

Chaperone Page

- Additional Chaperone Settings Page

Chaperone Additional Page

- Chaperone Proximity Warning Settings Page

Chaperone Proximity Warning Settings Page

- Space Offset Page

Space Offsets Page

Allows users to temporarily move and rotate the center of the playspace. This allows reaching interaction elements that are just outside our real-world walls or otherwise inaccessible (e.g. when your playspace is smaller than the recommended one). Can also be used to discover the terrors that lie outside of the intended playspace (ever wondered what's behind the door in The Lab?).

- Motion Page

Motion Page

- Rotation Page

Rotation Page

- Space Fix Page

Space Fix Page

- Audio Page

Audio Page

- Video Page

Video Page Overlay Override

- Utilities Page

Utilities Page

- Statistics Page

Statistics Page

- Settings Page

Settings Page

How to Compile

Building on Windows

Full build instructions can be found here.

Building on Linux

Full build instructions can be found here.

Notes:

Common Issues:

License

This software is released under GPL 3.0, and other third-party Licenses