SteamVR

SteamVR

42 ratings
BOLL's SteamVR Tools & Accessories
By BOLL
A list of SteamVR accessories and tools made and maintained by BOLL. For discussion join the Discord[discord.gg].
   
Award
Favorite
Favorited
Unfavorite
List of Tools & Accessories
OpenVR2Key
Simulates keyboard key presses from SteamVR input, this means you can bind any button or even chord to trigger key combinations on your desktop. It supports a global key binding as well as optional application specific key bindings.

It will send the keys to the application in focus, like a normal keyboard, but is also well suited to trigger global hotkeys.

Download[github.com], Readme[github.com], Report an issue[github.com]




SuperScreenShotterVR
Extends the screenshot functionality of SteamVR, adding a custom output folder, image output options, a configurable viewfinder with alignment assistance, camera shutter sound, a notification with a thumbnail and more.

This effectively replaces the normal screenshot support using the same button combination while still using SteamVR for image acquisition. You can bind additional buttons to take screenshots and/or show the viewfinder.

Download[github.com], Readme[github.com], Report an issue[github.com]




OpenVRStartup
Will run *.cmd files on SteamVR launch and shutdown, meaning you can execute commands through these scripts that happen every time you launch and/or close SteamVR.

If you have a shutdown script this application will stay in your taskbar during your SteamVR session, it will automatically terminate after executing the available scripts.

Download[github.com], Readme[github.com], Report an issue[github.com]




OpenVR2WS
Provides SteamVR data over a WebSockets connection, that is tracking data, input, Chaperone settings, device properties and more.

It's useful for general data collection or for use in browser based streaming overlays. An example of that is available here[github.com] and an example page is also included in the download.

Download[github.com], Readme[github.com], Report an issue[github.com]




OpenVROverlayPipe
WebSockets server that lets you submit a payload that results in a SteamVR notification or a custom texture overlay with a plethora of options when it comes to in/out transitions, animations and placement.

Download[github.com], Readme[github.com], Report an issue[github.com]
22 Comments
PAVDUP 30 Jan, 2023 @ 11:03pm 
thank you very much for your kindness!
BOLL  [author] 30 Jan, 2023 @ 6:18am 
My own C# applications use my bespoke convenience library that interfaces the C# headers from Valve with easy to use, hopefully, function calls: https://github.com/BOLL7708/EasyOpenVR It's been a while since I expanded on it due to previously mentioned project focus, but you can use it as a reference for your own code or request more features if something is missing 😁
PAVDUP 29 Jan, 2023 @ 5:34pm 
If you don't mind, I want to ask you another question!

I think I may need to access it directly via .dll or OpenVR, like your project. (When I saw your work, I thought this way might be suitable for collecting sensor data) May I ask reference about C# coding or the direct use of the OpenVR, what you refered when you created these projects?

Thank you so much already, and it's ok if you don't reply!
PAVDUP 29 Jan, 2023 @ 5:22pm 
Thank you for your kind reply! That sounds like a huge help! overwhelming thanks!
BOLL  [author] 29 Jan, 2023 @ 1:09pm 
@PAVDUP Hello and thanks!

I'm currently working on a big TypeScript project outside of these applications, but which utilizes these applications, but it means I'm a bit removed from the C# coding 😅

My applications currently are all using OpenVR, and using the .dll directly, not using Unity. It is possible to call the same functions for OpenVR in Unity though but I have not checked if it is possible to do background applications with it. I kind of expect that capability but you'd have to investigate on your own I'm afraid 😬
PAVDUP 29 Jan, 2023 @ 8:20am 
Hello! I applaud your works!

I was looking for a way to create a SteamVR app in the background in Unity Engine, and I've come here (https://steamproxy.net/app/358720/discussions/0/343788552532794340/)!

I would like to implement a background app that collects sensor data through the Unity Project through the "openVR for unity XR plugin" 's overlay method. If you don't mind, May I hear your opinion?
byteframe 20 Apr, 2021 @ 5:19pm 
Yes I agree. Unfortunately support for the other removed features (environmental models, controller skins etc) was fully removed (afaik) which left just this random background thing I could do to bring back some of the fun of early steam vr versions. It scratched the itch easily enough.
BOLL  [author] 20 Apr, 2021 @ 10:45am 
Good job getting it working! Also crazy what we have to do which could have been one simple checkbox in SteamVR! 🤣
byteframe 20 Apr, 2021 @ 10:39am 
I think I've got it. I used a start cmd to avoid the process remaining running. I tested it about a dozen times with fpsvr restart. It might be more logically/technically correct to alter the file when steamvr is going to shutdown, but I was trying to avoid the openvrstartup process remaining running. Now everytime I start stemavr I have a differant background (assuming its subscribed and downloaded). This might be the easiest way to scratch this itch.
byteframe 20 Apr, 2021 @ 10:39am 

start.cmd:
powershell "C:\Users\byteframe\Desktop\randomize_vr_background.ps1"

randomize_vr_background.ps1:

$files = @(Get-ChildItem -Path 'C:\Program Files (x86)\Steam\steamapps\workshop\content\250820\' -Recurse -Include *.jpg* | ForEach-Object {$_.Fullname})
(Get-Content 'C:\Program Files (x86)\Steam\config\steamvr.vrsettings') -replace '"background".*' , ('"background" : "' + $files[(Get-Random -Maximum ($files).count)] + '",') -replace "\\", "\\" | Set-Content 'C:\Program Files (x86)\Steam\config\steamvr.vrsettings'