
Create your first Unity project for a multiplayer VR experience, import the course assets, and explore home and networked scenes to lay the foundation for VR development.
Configure the project for Oculus Quest 2 and import the XR Interaction Toolkit to enable VR functionality, set Android build settings, and integrate default input actions.
Set up an XR rig in Unity using the XR Interaction Toolkit and the new input system, configure tracking origin to floor, and attach left and right controllers.
Enable developer mode on the Oculus Quest 2, build and install the Unity scene as an apk, and test in vr via SideQuest.
Implement a VR avatar with the XR Rig in Unity, syncing head, hands, and body movements using the AvatarInputConverter, and test in the editor with a mirror setup.
Implement teleportation in Unity using XR Interaction Toolkit. Attach a Teleportation Provider to XR Rig and configure the right-hand teleport controller with a projectile ray and a teleportation area.
Learn to grab objects in the XR Interaction Toolkit by turning a cup into a grabbable with XR Grab Interactable and CupAttachTransform, and prevent player collisions in multiplayer VR.
Learn to build and interact with VR UI in Unity by creating a VR canvas, configuring XR ray interactor, and toggling UI with the left-hand controller.
Learn to join random Photon rooms and create new ones when no match exists, using OnJoinRandomFailed and related callbacks, and test with Unity editor and Oculus Quest.
Master editor scripting in Unity to test multiplayer VR with a single headset, using custom inspectors and editor buttons to join rooms and connect to servers.
Create and join open world VR rooms in Unity using editor scripting and photon custom room properties to manage map type in the lobby with a UI.
Display real-time player counts in virtual rooms using the Open Worlds UI and occupancy text fields, with room lists updated via Photon OnRoomListUpdate for school and outdoor maps.
Spawn VR players across the network with PhotonNetwork.Instantiate a Generic VR Player prefab from Resources when the world loads, using the Spawn Manager and disable the local XR Rig.
Implement complete multiplayer vr synchronization using the MultiplayerVRSynchronization script to sync the main vr player, avatar head and body, and hands across the photon network.
Explore networked grabbing in multiplayer VR with Unity and Photon, enabling synchronized object transforms across players using XR Grab Interactable, Photon View, and ownership transfer.
Learn to transfer ownership of a networked object in Photon Unity Networking, configure the photon view, request ownership, and handle ownership callbacks during networked grabbing.
Learn to synchronize vr object grabbing across networks using Photon RPCs to disable gravity on grabbed objects, transfer ownership, and keep all players in sync.
Store the avatar selection number as a Photon custom player property and synchronize the selected avatar model across networked VR rooms using RPCs and avatar model prefabs.
Implement multiplayer voice chat in a Unity project using Photon Voice 2, setting up PhotonVoiceNetwork, Recorder, and Speaker for audio in school and outdoor scenes, with mic permission Oculus Quest.
Set up the UI for voice chat in a multiplayer VR scene using Photon Voice 2 assets. Display voice state, mic and speaker indicators, and show player names on avatars.
Install Unity Hub and Unity 2019.4 LTS, then create a new multiplayer VR project with Android support for the Oculus Quest and note upcoming XR Interaction Toolkit import.
Install Unity's XR Interaction Toolkit to enable cross-platform VR development and main functionality for the Oculus Quest project, and access XR rigs and teleportation components.
Import and review the game assets package, explore home, world outdoor, and school scenes, and prepare VR basics with Unity's XR Interaction Toolkit for future multiplayer development.
Learn to view a VR scene by setting up XR Rig and XR Interaction Manager, wiring left and right controllers, and selecting stationary or room-scale rigs for Oculus Quest.
Learn to view and test a Unity VR scene on Oculus Quest by building and installing an external apk with Side Quest, and configure room-scale vs stationary rigs.
Capture XR button input with the XR interaction toolkit by listing devices, filtering by characteristics or XR node, and reading the primary button state to detect presses.
Create a left hand VR menu as an XR UI canvas with world-scale, using a vertical button layout, and toggle it with InputListenerSecondaryButton via OnPress and OnRelease.
Learn to create and join random rooms in Photon Unity Networking 2 for VR multiplayer by implementing a room manager, joining, handling failures, and observing join events.
Activate the open worlds UI in VR to create and join rooms by map type, using custom room properties in Photon for school and outdoor environments.
Learn to display current player counts for each virtual room by updating occupancy text fields with room-list data from Photon, using OnRoomListUpdate and the Open Worlds UI in Unity.
Spawn VR players across the network using PhotonNetwork.Instantiate with a prefab in Resources, equipped with a photonView. Use a Spawn Manager to instantiate on scene load and synchronize remote players.
Learn to set up networked VR players with PhotonView IsMine, enable local XR Rig, disable remote rigs, and synchronize movement using AvatarInputConverter; plus implement a spawn manager for outdoor scenes.
!!! JUST UPDATED WITH UNITY 2020.3 LTS !!! (Also the lectures are now 1080p)
Welcome to Udemy's first Multiplayer Virtual Reality Development course!
Virtual Reality is having its best time ever. Stuck in our homes, we find joy and happiness in VR. But some people still think VR is an isolating experience.
Not anymore! Virtual Reality has the potential the be the next social impact in our lives. With Multiplayer implementation, we can meet people in Virtual Worlds and communicate with tools that do not exist in the real world.
In this course, we build a Multiplayer VR project from scratch. Unity's XR Interaction Toolkit is used for the Virtual Reality solution. Also, Photon- PUN 2 asset is used for Multiplayer implementation. While learning, you will have much fun with the Game Assets that I will share with you.
By enrolling in this course, you will learn Multiplayer VR Development Fundamentals such as:
Configuring a Unity project for Oculus Quest with the new XR Interaction Toolkit from Unity 2019.4
VR Keyboard Implementation
Connecting servers with player name
Joining Virtual rooms
Avatar Selection System
Full Multiplayer VR Synchronization (Head, Hands, Body)
Multiplayer VR Movement Synchronization for Teleportation and Joystick
Voice Chat for VR
Networked Grabbing
Editor Scripting for Multiplayer tests with only one headset
This course is tested with Oculus Quest only. However, it should work with Oculus Rift and Rift S without any issue. Because Unity's XR Interaction is used and it offers cross-platform support for VR Development.
At the end of the course, you will have a fully working Multiplayer VR Template project that you can even publish!
Even if you do not have a VR Supported PC, I will show you how to easily test VR projects.
If you have a SteamVR supported headset, you can still follow the course. Because there is a special lecture explaining how to set up the project for OpenVR. Note that SteamVR is not officially supported by the XR Interaction toolkit, yet. But it will be and the course will be updated according to that.
Come and join me to build the Virtual Worlds that we will be living in...
I will see you there...
-Tevfik