Ingame vr Menu. Question on how to do this one thing!

While playing through TWD saints and sinners, when you press the menu button for the ingame menu your presented with a totally black environment with only the menu UMG visible.
I want to do the same But iM not sure how they did this.
It dosent seem like there are opening a custom menu level or a teleporting to a black room in the level. Its also very quick so Im wondering how they managed to hide everything apart form the UMG and characters Laser pointers.

You can supply a black background for the menu widget. Is it just that?

no , Its like everything is gone and you surrounded by nothing but an empty black void and the only thing you can see is the menu screen.
Im trying some tests in a new level now to see If I can mimic it.

You could place a sphere with a black material around the player and widget, then change the sphere’s visibility as required. This will save the time taken to change between levels and let you animate the visibility change as you like.

Thanks, its a good idea and I thought of something similar myself using a box.
Right now Im trying empty level with the floor plane hidden but Having issues getting the menu to spawn where I want it.
Trying to make the menu spawn at the height of the players head and and always face the player, but getting the forwards vector * 100 works but If i Look up or down its an issue, as its in the air or on the floor, think I need to create a forwards vector from the heads Yaw only? and set the z to the same height as the player head.

not figured out the best method yet. and advice would be great :slight_smile:

Attach the widget component to the camera - they can’t escape it as it’s now always in their face. You can also disable depth so even though it’s a World Space widget, it renders on top of everything else.

Perhaps if you could link an example, that’d would help.

1 Like

How to create a UE5 Discussion Topic? Currently I am unable to create any Topic and therefore unable to raise any new Discussion.

Could you clarify? What about clicking New Topic does not work for you?

Thanks the I did not know about depth, sounds useful.
I started with it being attached the the Camera but I dont want it to move with the players head.

OK I THINK I SOLVED THIS!
I created an actor component that spawns an actor where the arrow I attached the HMD is.


Im going to add some more polish now.

There’s a Child Actor Component that does that - if your menu is an actual actor.

I know about them and use them often, But I liked the Idea of a component that I can just add to any actor.

Getting back on track to my original question , I created a new empty level and deleted all lights and even the skysphere and set the floor to hidden, so now I have a totally black environment for my floating 3d menu.
How could I create this look ingame when I open the menu. instead of loading in the new empty level and having to somehow save the game state while its open and reload back to it when I close it. Just want it to feel seamless like I never left the game world.

How about an actor (pawn even) that is a sealed box room with a camera, its own lights (or no lights), a menu widget component, sounds and whatever else is needed. Place that actor where the player cannot reach it. Switch to that room’s camera when the menu opens or posses the room if it’s a pawn. Or teleport the immobilised player there.

That room is your menu. Rooms like that are often used for inspection system where you want to render target to UI.

Would that work for you?

Perhaps Streaming Levels are another option. You can have it loaded and show / hide it without affecting the rest of the world.

its a good Idea But maybe it would work better if I possessed a custom pawn built only for menu interaction.
that was inside a post process volume that you cant see through or is jet black, as I don’t think it would be possible to completely eliminate all light inside a box.
Looks like I have some more research to do on post process :slight_smile: