OVR Toolkit

OVR Toolkit

Deightine Jul 21, 2021 @ 1:12pm
Dev Question - Binding a wrist widget?
First off, I love this project. OVR Toolkit expanded my interface so dramatically that I now automatically reach for it in-process when using software. That's not a little thing--I see OVR booting as nearly as important as SteamVR itself. It's much less painful to use than Steam's desktop view window.

Now my question... I've been reading through the wiki to see how the apps are created and added to the workshop as I am interested in expanding your ecosystem a bit. But I couldn't find any specific documentation referencing the wristwatch behaviors.

My desire is to add widgets (like the ones you can re-order on the wrist) to expand my OS interoperability. However, I didn't see a 'window type' to fit being a widget, rather than a detached window.

Is there an example somewhere I might've missed on how to do this? A template for best matching your UI aesthetic? An example widget would be ideal even if its just an empty rounded rectangle waiting to be filled.

Thanks for this awesome contribution to the VR community!
< >
Showing 1-4 of 4 comments
CurtisVL  [developer] Jul 21, 2021 @ 2:57pm 
Hi there!

Right this moment, the 'Custom Apps' cannot be added as a wrist 'module', however this is something that has been mentioned a lot so I'd like to implement it!

As part of this, I'll probably add an option to enable or disable the background accent so you can have your content match the user's accent colour. :)

My only concern is that right now you're limited to I believe 5 wrist modules due to some backend issues I've run into, this means I need to implement a "Which would you like to swap" UI when opening a custom app which uses the wrist overlay when you're at the max amount of modules open. Just a bunch of fuss that I need to get around to resolving.

Please don't hesitate to join us on Discord! I updated the wiki last night with more examples and an updated OVR Toolkit API using a helper library, would be happy to have some feedback!

https://discord.gg/KFGxc3e
Deightine Jul 23, 2021 @ 12:06pm 
How about leaning into an 'override' approach to the swap?

For example, I really want a slide-style volume controller for the media module as there are no easily accessible methods for changing volumes in SteamVR, and later would like to be able to use a button to 'fold out' a larger app window that displays all of the OS' master volume sliders.

I don't necessarily need to add a whole new module for that, but could rather make the modifications and have my variant supersede the base media module, taking its place. Then do the same again when I wanted to add more functionality.

And you currently have a method for attaching a window to the top of the wrist segments, so you could also follow an overflow sort of approach. Ex. Have the added module forced to conform to the same dimensions as the wrist already uses, but mount it to the space above or below the main watch, inheriting its behavior (viewing angle, etc) in the process and turning off their grip-based movement.
CurtisVL  [developer] Jul 23, 2021 @ 1:49pm 
Originally posted by Deightine:
How about leaning into an 'override' approach to the swap?

For example, I really want a slide-style volume controller for the media module as there are no easily accessible methods for changing volumes in SteamVR, and later would like to be able to use a button to 'fold out' a larger app window that displays all of the OS' master volume sliders.

I don't necessarily need to add a whole new module for that, but could rather make the modifications and have my variant supersede the base media module, taking its place. Then do the same again when I wanted to add more functionality.

And you currently have a method for attaching a window to the top of the wrist segments, so you could also follow an overflow sort of approach. Ex. Have the added module forced to conform to the same dimensions as the wrist already uses, but mount it to the space above or below the main watch, inheriting its behavior (viewing angle, etc) in the process and turning off their grip-based movement.

That's quite a good idea with the mounting! This is already done for the fpsVR overlay integration, so could be done like that too for Custom Apps. :)
Deightine Jul 25, 2021 @ 7:32pm 
Originally posted by CurtisVL:
Originally posted by Deightine:
. . . Ex. Have the added module forced to conform to the same dimensions as the wrist already uses, but mount it to the space above or below the main watch, inheriting its behavior (viewing angle, etc) in the process and turning off their grip-based movement.

That's quite a good idea with the mounting! This is already done for the fpsVR overlay integration, so could be done like that too for Custom Apps. :)

If you choose to go this way, I recommend securing either the top or bottom of the wrist panel for a dedicated area for that purpose. That way its always a clear rule where they will go. I.e. "The wrist unfolds integrated apps from its top and local/custom apps from its bottom." or something similar.

Might also be worthwhile to standardize some mounting points along the arm using the centerpoint of the wrist and controller to establish a floating axis. That way people can more easily secure windows to their forearms, elbows, etc. Maybe with snappable nodes as mounting points to catch the windows in places users have already tested.
Last edited by Deightine; Jul 25, 2021 @ 7:37pm
< >
Showing 1-4 of 4 comments
Per page: 1530 50

Date Posted: Jul 21, 2021 @ 1:12pm
Posts: 4