c++dashboardvirtual-realitysteamopenvr

How to create and distribute SteamVR dashboard overlays


To be totally clear. This question is about SteamVR dashboard overlays specifically, not regular overlays.

I have been playing around with the C++ SteamVR SDK and working on some overlay application prototypes lately. Something I have not managed to do so far is to get a dashboard overlay to show up. The error I get when I call CreateDashboardOverlay is VROverlayError_PermissionDenied. I'm guessing that this is because I need to be authenticated with a SteamVR developer account, which I don't currently have. Can anyone verify that? There doesn't seem to be any (public) documentation on this at all beyond what's in openvr.h and the openvr github docs page, which is somewhat sparse.

I'm also guessing that any dashboard overlay application would need to be distributed through the official Steam store, but again I can't find anything official on that. I suspect that Valve would require this since otherwise any old malware that happens to be running on the system could easily create an official-looking dashboard overlay.

Note again that I am referring specifically to dashboard overlays. I can get regular overlays to show up just fine.

There are a few repos on github with implementations of steamvr overlays (https://github.com/Hotrian/OpenVRDesktopDisplayPortal for example), but I have yet to find one that is actually creating a dashboard overlay.

Any info or links to documentation I'm somehow missing would be greatly appreciated. I'm starting to think I might be missing something obvious.

Thanks

Edit for clarity:

My questions are: Am I getting the permission denied error when calling CreateDashboardOverlay because I need to satisfy some kind of authentication requirement such as having a steam dev account? And do SteamVR dashboard overlay apps need to be distributed via an official channel?


Solution

  • On further review it appears I was misinterpreting my own debug output and reading a bit too much into it because the conclusions sort of made sense in my mind.

    The CreateDashboardOverlay call was working fine. Later on in my code I was calling ShowOverlay, which of course is not allowed for dashboard overlays (They are shown by opening them via the SteamVR dashboard UI).

    My dashboard overlay is working fine after all.

    To summarize, the answer to both of my questions is no. No Steam developer status is needed to create a dashboard overlay and SteamVR dashboard overlay apps do not need to be distributed through any kind of official channel.