
Install Unity Hub to download and manage Unity versions and projects, then install the latest LTS Unity Editor (2021.3.24f1) with Android Build Support, and create a Photon Fusion project.
Set up your Unity development environment by launching Unity Hub, creating a 3D URP sample project named FusionVR, then building the Fusion101 scene with a floor plane and materials.
Discover photon fusion, a next-generation networking framework for Unity. It enables real-time, networked multiplayer in VR with simplicity, cross-platform support, scalability, and high performance.
Explore server-client, host-client, and shared topologies in Unity Photon Fusion for multiplayer games, weighing advantages and drawbacks and applying host-client design to our project.
Build a simple multiplayer project with Photon Fusion using shared topology, coding the NetworkManager and Spawner objects, joining sessions, creating a networked player, and sending input with the input system.
Learn to implement a singleton network manager that initializes Photon Fusion, creates and joins sessions with a NetworkRunner, and handles scene networking via a NetworkRunner and SceneManager.
Explore implementing network runner callbacks with Fusion, registering INetworkRunnerCallbacks to a network manager, and handling events like OnPlayerJoined, OnShutdown, and OnInput in Unity.
Code the player spawner using Fusion's NetworkRunnerCallbacks, register the script, and spawn networked players with Runner.Spawn at random positions, ensuring local players only, across host and clients.
Create a networked player prefab, attach a network transform with interpolation, configure shared mode settings, and spawn it via the spawner in session so each client manages its own player.
Set up the fusion input system by creating a PlayerInput script, implement INetworkRunnerCallbacks, use OnInput to populate PlayerInputData with direction, and send to NetworkRunner.
Learn to read network input in a multiplayer VR game by implementing a PlayerMovement script, using GetInput in FixedUpdateNetwork, and scaling movement with Runner.DeltaTime and a speed parameter.
Install the Unity input system, create an input actions asset with a move action mapped to wasd (and joystick), enable the system, and apply the vector2 input to character movement.
Discover the fundamentals of VR development in Unity, including setting up the project, XR plugin management, scene setup, building an XR rig with camera and controllers, and deploying to Oculus.
Switch the editor to Android, set ASTC texture compression, install XR Plugin Management for Oculus, then set linear color space, OpenGL only, remove Vulkan, and medium quality with vsync off.
Import the asset package containing meshes, textures, and materials, then import and add the login and arcade hall scenes to the build. Set the login scene as the opening scene.
Set up a functional XR rig in Unity for your virtual reality project by converting the main camera, configuring the XR rig, and adding hand controllers with tracked pose drivers.
Set up a local VR player by adding empty objects under the XR Rig for the main camera and hands, attach avatar visuals, and align with the camera offset.
Create a local XR movement script for an XR rig using the CharacterController, implementing move, rotate, and gravity. Configure input actions for left and right VR controllers and keyboard testing.
Activate developer mode on the Oculus Quest, connect via Oculus Link with a USB-C cable, and build an APK in Unity to run PC VR titles on the Quest.
Merge Unity-based VR development with Photon Fusion to establish a multiplayer environment using network manager, network spawner, and networked VR player with synchronized transforms, UI interactions, and real-time voice chat.
Implement a singleton network manager in Unity to initialize photon fusion and manage the network runner and callbacks. Ensure persistence across scenes with DontDestroyOnLoad and handle session creation or joining.
Create a networked vr player by building hardware and network rigs, using network object and network transform components to spawn and sync remote players in a multiplayer session.
Learn to synchronize the VR hardware rig with the network rig by transferring position and rotation of every XR rig part to the network using Fusion, INetworkInput, and network transform.
Discover UI interaction in virtual reality by wiring a button with ButtonInteraction, highlighting it as the hand nears, and setting up the hand UI controller and input actions in Unity.
Implement voice chat in Fusion by importing Photon Voice from the Unity Asset Store, configuring Weaver settings, creating a voice app, and wiring a voice client, recorder, and voice prefab.
Set up Oculus Integration in Unity to import, configure, and optimize for Oculus headsets, enabling head and hand tracking, avatars, keyboard, and leaderboards.
Learn to implement Oculus Integration UI interaction in Unity using a world-space canvas, OVR raycaster, and UI helpers to navigate join and create session panels with the right-hand controller.
Enable the Oculus keyboard overlay with Text Mesh Pro UI to enter a session code and player name, using Oculus Integration and a simple script with a 4-character limit.
Implement a four-digit session code system in Fusion, generate and display the code for hosts, and enable players to join using the same code via a UI manager.
Install Unity by downloading Unity Hub and signing into a Unity account. Choose the 2022.3.1f1 LTS version for Windows and download the Android packages to set up the Unity editor.
Create a new Unity project using the 3D core templates and universal render pipeline, name it MacGyver, configure organization settings, and prepare the multiplayer system with photon fusion.
Discover photon fusion and how it enables real-time multiplayer in Unity VR, with a user-friendly API, cross-platform support, and scalable, low-latency networking.
Explore server-client, host-client, and shared topologies, comparing their scalability and reliability, latency implications, and how Photon Fusion guides development with the shared topology.
Create a photon account on photonengine.com, explore the sdk page and documentation, and create a fusion-based multiplayer game app with sdk version 2, then review the dashboard for app usage.
Import the fusion sdk into the editor by configuring project settings, using the package manager to add the sdk from git, and supplying the app id from the photon dashboard.
Launch fusion and use a network manager prefab to create or join a session via the startgame method, with a test session name and managed scene index.
Implement a persistent fusion networked player system with a singleton network manager, spawn players via spum, and synchronize properties like total score, name, and ready status across scenes.
Adjust Android build and player settings for VR, set linear color space, arm64, select render pipeline assets, and import VR assets to enable Oculus and SteamVR development.
Import the galactic locomotion package (MIT license) from GitHub to enable VR locomotion, then set up the player with headset camera and hand controllers.
Enable development and debug modes on your headset, then connect your pc to Oculus and build an apk from Unity to test in vr.
Synchronize a local VR character with a network character using fusion, sending head and hand transforms as input data, with network scripts and a body follow for accurate motion.
Create and manage spawn points for local and network characters in a Fusion-based multiplayer VR game, and build a map system to spawn network characters at runtime.
Build a multiplayer vr flag chase where touching players gain flag state authority and the flag follows the holder, with a capture protection timer to avoid rapid handoffs.
Implement Photon Voice for Unity Fusion by importing Photon Voice, configuring the app ID, and creating a voice chat prefab with voice and network components.
Learn to implement inverse kinematics for a humanoid character in Unity by building an arm and head ik rig with the animation rigging package, configuring bones, constraints, and network synchronization.
Welcome to our advanced Multiplayer Virtual Reality Development course featuring the cutting-edge Photon Fusion Multiplayer solution!
The popularity of Multiplayer VR experiences is soaring daily!
In recent years, we've witnessed major Multiplayer VR successes like Gorilla Tag and Among Us VR, not to mention numerous other remarkable social VR experiences too numerous to list here!
Thus, crafting Multiplayer VR experiences has become increasingly vital, and arguably essential, for the triumph of your VR project!
Photon Fusion provides a potent and intuitive platform, empowering you to craft compelling multiplayer games on various platforms using Unity's capabilities. For game developers, proficiency in Photon Fusion is transformative. It not only enables the creation of the next multiplayer gaming sensation but also unlocks a plethora of career possibilities in the dynamic and expanding field of game development.
That is why we created this course to help you on your Multiplayer VR Development journey with Photon Fusion!
In this course, we build a core Multiplayer VR game from scratch step-by-step. First we will learn what is Photon Fusion, and the basics. Then we learn how to create a multiplayer session. When we understand the basics of Fusion, we will implement VR System in our project. After that we will develop our game mechanics.
At the end of the course, you will have a fully working Multiplayer VR game that you can build your own projects on top of!
* Please note that this course has been tested exclusively with Meta Quest 2/3. Nonetheless, it should be compatible with Meta Quest Pro, Meta Quest 3, and Rift/Rift S without any problems.
IRONHEAD Games is the leading game development course provider on Udemy with over 38,000 students around the world with our existing successful courses!
So, come and join us on this Multiplayer Game Development Journey!
-IRONHEAD Games