SteamVR Developer Hardware

SteamVR Developer Hardware

Koolala Mar 29, 2016 @ 10:37pm
Prevent Applications from Closing
I want to prevent my app from closing when other VR apps are launched. It is a activity tracker and it provides real time feedback during other experiences.

When I launch it, other applications close. When I launch other applications while it is running, it
closes.

Is there any way to prevent it from closing and to prevent it from closing other apps? It uses the Unity SteamVR plugin. I know this could quickly lead to problems if multiple apps are open but I am just testing right now. Thanks!
< >
Showing 1-7 of 7 comments
bendotcom  [developer] Mar 29, 2016 @ 11:23pm 
When a SteamVR application starts it delcares what kind of application it is. "Scenes" have focus (and that's what the Unity plugin creates) and preempt each other. There are several other types. Yours sounds like a "Background" app, which won't start SteamVR if it's not running, and won't prevent it from closing if it's the last thing standing. And it doesn't compete with Scenes for focus.

Search for VR_Init in the plugin. I don't know offhand if the Unity type is hardcoded there or accessible to you via a property, but you can change it either way.
Koolala Mar 29, 2016 @ 11:30pm 
Thanks! If I also want to send 3D information/notifications to the compositor from the app? So it is not quite a "Scene" and not quite a "Background": Is there something in-between? I know there is the 2D overlay functionality, but is there any way to have two non-background apps running that both use the same compositor?

I'll be sure to look over the options VR_Init. Thanks again!

EDIT: Looking through here I didn't find any hardcoded access: https://github.com/ValveSoftware/openvr/tree/master/unity_package/Assets/SteamVR

It is however used in the standalone c++ examples. It looks like I might want the "Overlay" app type.

EDIT2: It looks like only "Scenes" can submit 3D frames. Is it at all possible to have two scenes running?
Last edited by Koolala; Mar 29, 2016 @ 11:58pm
bendotcom  [developer] Mar 30, 2016 @ 12:24am 
No, you can't have 2 3D scenes. They would have to cooperate to render together. That's why even the bounds don't truly render in 3D. They're just 3D-shaped but drawn on top of everything else.
Koolala Mar 30, 2016 @ 12:41am 
Is the problem in the specific way things have to be rendered for the compositor or is it a usability / comfort problem?

For example, I have this 3D cube scene running real time on top of this other completely different scene on Windows: http://puu.sh/nZcwy/b4a260e7c5.jpg

Is there no way to do the same thing with the compositor even if in a lot of cases there can be issues without cooperation? Can one scene be set to draw on top?

Isn't the only issue that a 3D scene below another 3D scene couldn't occlude the one above it? Otherwise, as long as the minimal "app-like" scene are on top and you don't have too many scenes then they don't need cooperation. This seems critical because 90% of VR applications are not all encompasing enviroments just like 90% of PC programs don't require full-screen or that most phone apps don't completely take a users attention from reality.

EDIT: Isn't one solution to force all Scenes not at level 0 to be transparent holograms? Thus you will have "Scene" apps and "Hologram" apps? Most Hologram apps will have functionality to be repositioned and there could be many types of contexual solidifaction.
Last edited by Koolala; Mar 30, 2016 @ 12:54am
zalo Mar 31, 2016 @ 10:46am 
Does SteamVR support Depth-Unaware 3D overlay applications like the chaperone bounds?

EDIT: Offtopic: @Koolala 🙊 your picture lead me to the Transparent Window Rendering in Unity thread. I added the ability to capture opaque clicks and clickthrough transparent areas to the code from that thread: http://forum.unity3d.com/threads/solved-windows-transparent-window-with-opaque-contents-lwa_colorkey.323057/#post-2577350

Was thinking you might find it handy for whatever you're working on.
Last edited by zalo; Mar 31, 2016 @ 12:58pm
aaron.leiby  [developer] Mar 31, 2016 @ 3:19pm 
This is something I would like to support, but will be a while before I get to it.
Koolala Apr 1, 2016 @ 12:29am 
Yeah thats the thread I got that example from zalo. It works great in windows and even the mirror view gets transparent. I can run it in the Vive but I couldn't tell if it works because I can only run one program! Trying to trick it into opening two programs doesn't work sadly.

In-Direct mode doesn't work also. Is there any way to send a good old normal window to the Vive screen ontop of everything else? I know OpenVR still has this capability.

I am glad to hear you are working on it aaron! Keep in mind a quick workarounds would be really handy just for developers to start messing with. It doesn't have to be perfect, this is a pretty hefty task if you try to plan for everything. This is the most important feature for the Internet of Internet Things!

EDIT: zalo I just noticed you posted that 4 years ago. You are awesome!!
Last edited by Koolala; Apr 1, 2016 @ 12:37am
< >
Showing 1-7 of 7 comments
Per page: 1530 50

Date Posted: Mar 29, 2016 @ 10:37pm
Posts: 7