Training Stream - VR Networking and 3D Menu - Sept 8th, 2015


Sam Dieter and Wes Bunn are back for some VR goodness. They will walk you through setting up a networked game so you can get started creating that multiplayer holodeck you always dreamed of. They will also show you how to create a 3D menu for use in a VR world.

Tuesday, September 8th @ 2:00PM-3:00PM ET - Countdown]


Sam Dieter - Sr Training Content Creator
Wes Bunn - Sr Training Content Creator

Feel free to ask any questions on the topic in the thread below, and remember, while we try to give attention to all inquiries, it’s not always possible to answer everyone’s questions as they come up. This is especially true for off-topic requests, as it’s rather likely that we don’t have the appropriate person around to answer. Thanks for understanding!

Edit: The YouTube archive is now available here](VR Networking & 3D Menus | Live Training | Unreal Engine - YouTube)

Yeah, great news!! Really looking forward for this! A couple of questions:

  • Is there any reference project or resource around showing how to setup a menu system in VR projects? Also, talking about 3D menus, I would be interested in understanding which is the best way to animate the selected items (e.g. zooming in and out the selected item with an animation)
  • Could you please discuss networking between mobile (GearVR) and desktop VR clients (e.g. Rift)? I have often issues like FNetworkVersion::IsNetworkCompatible (in UnrealNetwork.cpp) failing for no reason, or mismatches between the objects in the two versions, so a walkthrough of the correct process for packaging the two different clients would be pretty welcome!

Sweet, this will be awesome, thanks for doing these great streams =)

Will there be a video up soon after of the stream? :slight_smile: I’d love to learn more about VR, but I’m not sure I’ll be there for the stream.

This is great! Thank you!

Same please, I wont make the stream and would love to catch the video after the event!

I can think of two main approaches to UI in VR. The first is to display a traditional flat interface in 3D space. The other is to create an interface that has depth and 3D elements. If your stream will focus on the first approach, how would you go about doing the second? Roll your own system? UMG? Mix of both?

Here is a good example of the second approach in practice:

One more question, related to gearVR networking.

I’m experiencing quite a few issues connecting multiplayer sessions when building for development (e.g. see FProxyCounter::~FProxyCounter has a mismatch - UE4 AnswerHub). Building for shipping or building development with grarvr plugin disabled seems to solve these issues.

Are you experiencing the same?


Just saying I’m hopeful they’re going to touch on 3D menus. 3D menus (using widgets) has many bugs since its creation - one of the largest one is typing text onto world widgets crashes the game. Really looking forward to see how they work around these problems!

I’m needing a map interface which will be displayed in the 2 o’clock position around the player (12 o’clock being straight ahead, 3 o’clock being to the right). The map itself will be a 2D map with fog of war. Where the player has been, the FOW has been removed. The map will show notable locations as they are visited. Also, the player should be able to share this information with other players that do not have the mapping discovered.

How would you recommend doing this?

This is great. I’ve been pulling my hair out trying to get a working menu in 3D. So glad you’re doing this stream!

UMG VR QUESTION I’d like highlight the button I’m looking at. Is it possible to set up something similar to “Event On Mouse Enter” for this? (“Event Gaze Enter”??)

This is amazing news!!! Im only doing this tomorrow!!

Noooo, staaahp! I’m working on a 3D menu system for the marketplace, don’t go showing people how to do that themselves! :stuck_out_tongue:

Just kidding of course, I assume this will be focused around UMG - whereas my system is using actual 3D objects to do create menus. Some tricks on how to properly use 3D UMG widgets would be much appreciated!

And if anyone is curious about my system, here’s the wip thread:

Much HYPE!

An other question that just came to my mind:

Could you maybe explain all the different rotations and relative/absolute locations that are relevant to HMDs? It doesn’t seem to be too straight forward to even just get the world location of the HMD:

FVector GetHMDLocation(UWorld *World)
	FQuat Rotation;
	FVector Position;

		GEngine->HMDDevice->GetCurrentOrientationAndPosition(Rotation, Position);
		Rotation = FRotator::ZeroRotator.Quaternion();
		Position = FVector::ZeroVector;

	FTransform Transform = GEngine->GetFirstLocalPlayerController(World)->PlayerCameraManager->GetTransform();
	const FQuat &RotationInverse = Rotation.Inverse();
	Position = RotationInverse.RotateVector(Position);
	FVector HMDPosInWorldSpace = Transform.TransformPosition(Position);
	return Position;

When is layered rendering due so that I can have VR HUDs tied to the camera which aren’t subject to reprojection?

Could you please upload the stream after? I can’t miss this training stream, but I can’t make it for the live event. Please hook us up with details!

All of the livestreams are uploaded to Youtube afterwards, so you don’t have to worry :slight_smile:

Ah brilliant brilliant. Thanks for reply Kashaar.

Here’s an annoying little question though: How soon afterward? I’m hoping to pound out some Unreal work tonight based off this tutorial. I hope it’s an immediate upload ~_~