Dashboard overlays

This is kinda embarrassing. I have modified the entire VR rendering pipeline to do some fancy stuff I cannot talk about and am on the last leg of the project. Settings.

I need to create a dashboard overlay using OpenVR.

So far I have created the button with CreateDashboardOverlay, hooked up all the events to the event system, and created a UMG widget to handle user input, all I have left to do is get the widget to display and run.

AND I have no clue.:frowning:

I have modified 100’s of shaders, modified the renderer, and all the really complicated bits … and cannot get the settings widget to display. Sigh.

I need to …

  1. Create the widget and get it to run without displaying on the screen
  2. Get the texture created in 1 and pass it to OpenVR as the overlay.

That’s it.
Nothing else.
But I don’t see any way of doing it.

Please someone out there take pity on an old and tired coder and give me a hint so I can get this project finished and move onto something else. Anything else.

Note my code has to bolt into UE4 games with the minimum of content changes. I can probably get away with a minor change to the player character blueprint, but that’s about all.

Cheers guys.

At the moment it looks like supporting dashboard menus is impossible in UE4 , which is a real pity. It was trivial in Unity.

You have to pass a texture to OpenVR which you get from a stereo overlay, which is bound to a widget component, which contains your widget, which has to be attached to a pawn.

So I cannot just create an instance of the widget from c++ and add it as required.

If I add it to the player, then it will be active all the time, not good.

At the moment it will always be visible as well, though I think I can get around that by making the widget have a transparent material and playing with the overlays transform, not really a valid solution though.

Has anyone managed to create a working dashboard overlay?

You can get the texture directly with a WidgetRenderer class, how you handle input to that widget if that is your goal is an entirely different matter.

Ok to make things clear why I need to do this and why it is so important.

When you are playing VR games with motion controllers, you are VERY limited with control inputs.

The only button that can be used for a pause menu is the one that brings up the SteamVR desktop.

So if you want any in game settings, you have a problem.

Most games I have worked on use an interactive 3D area, but that has the problem that you can’t just bring it up at any time the player wants.

The solution is to add your code to the SteamVR desktop. The API allows this, it is really easy to add a button to the dashboard and the API supplies emulated mouse inputs to whatever you display.

So you can add a button, respond to the events and have a full on settings menu available at any time to players just like you would have in a none VR game

I have done this in Unity and it works really well.

However UE4 is proving to be a pain in the butt.

I understand all of that, but you would have to be passing the input on to the widget then in order for it to react to it. Which while require a virtual input user to be defined much like the widget interactor class.

I was more curious why you were using widgets here than why you were doing it in the first place.

I am using a widget as that seems to be the most logical way to get an interactive UMG display.

If there is a better way I am all ears.

At the moment I am experimenting with a Qt dashboard app that shares a memory mapped file with UE4, but that is hardly ideal.

Mordentral, do YOU know of any way to display a desktop in VR without using a widget (or with, for tht matter?) Virtual Desktop must be made with Unity as I have never fpoind a way to even SEE desktop in VR much less controil it!
2 years later I hope there has been some changes! :slight_smile:

Thanks for everything MD BTW.