
Learn to build a Unity multiplayer game using Photon Unity Networking, with character setup, third-person camera, weapon changes, health and kill counts, winners across network, and main menu and lobby.
Download and install Unity using Unity Hub, choose the personal free version, and install the editor (LTS 2022.3.x) on Windows, Mac, or Linux.
Create a new Unity project with the universal render pipeline, set the project name and location, then click create to install and open the project.
Import the CI Battle Level Unity package, load the floor layout scene, and optimize visuals with URP high fidelity, anti-aliasing, HDR, and deferred rendering for a battle arena.
Learn to move a Unity character by attaching a rigidbody and capsule collider, freezing rotation, and scripting movement with input axes and Time.deltaTime for smooth, physics-based control.
Implement character rotation by updating the rigidbody in fixed update, rotating with mouse x on the y axis using moveRotation and quaternion math, and rotate only when movement is detected.
Build a player move animator using a 2d blend tree to drive forward, backward, left, and right runs, with blend V and blend H controlled by input.
Create a jump mechanic in Unity by binding space to input, detecting it in update, and applying an upward rigidbody velocity change of 1200 scaled by delta time.
Align weapons with a character in Unity by attaching guns to the spine, applying animation rigging and inverse kinematics, and refining positions and rotations across multiple weapons.
Install and configure Unity's animation rigging package to drive inverse kinematics with a two-bone IK constraint, attaching rig transforms to weapons and defining hand grip targets for real-time animation control.
Learn how to set up and align player hands to grip multiple weapons in Unity, copy grips between guns, apply effectors, test in scene, and prep for a weapon-switching script.
Learn a beginner weapon change script in Unity using animation rigging and two bone Ik constraints to switch between three weapons with keys 1, 2, and 3.
Learn how to implement an intermediate Unity weapon switcher using arrays and a for loop to handle many weapons, updating left and right hand targets via a right-click.
Install Cinemachine, create a third-person follow camera for the player, tune damping, shoulder offset, and cam distance, and prevent wall clipping with a 0.01 near clip plane and wall collision.
Explore mouse-based aiming in Unity by converting screen space to world space and positioning a 3D aim object in front of character, using a look at script and main camera.
Move a crosshair UI image with the mouse by putting a sprite on a canvas set to screen space overlay, disable raycast target, hide the cursor, and prepare for aiming.
Learn to make a Unity character rotate toward the crosshair with animation rigging, rig setup, and multi aim constraints, adjusting spine and head weights for precise weapon aiming.
Learn to fix a thumb poking through guns by applying animation rigging constraints in Unity, creating left thumb controls and three thumb targets, and testing with each weapon.
Implement a canJump flag in Unity and a one-second coroutine to limit jumps, adjust the rig weight, and save the character as a prefab in Resources folder for server use.
Set up multiplayer in Unity with Photon Unity Networking; install from the Asset Store, create a free app up to 20 concurrent users, and paste the app ID into Unity.
Explore server settings in Unity's Photon networking, ensuring all teammates share the same ID to join the same server, and manage regions, dev builds, and final exports.
Learn how photon scripting connects a Unity game to the photon cloud, uses a lobby to create and join rooms, and sets room type and capacity with photon pun callbacks.
set up a Unity scene for Photon multiplayer, configure spawn points and prefabs, and implement a game manager to join or create rooms and load levels over the network.
Spawn characters across the photon network using a spawn script and photon view, selecting spawn points by player count and looking up characters by name in resources.
Link the camera to the player's own character so the Cinemachine virtual camera follows the active character in multiplayer, and configure aim targets via animation rigging to enable per-character aiming.
control only your character by disabling the player movement script on non-owned characters, adjust spawn points, and test server position updates across multiple builds.
Sync character movement and animation across the server in Unity by adding photon transform view to all rigs and weapons, and wiring the animator through photon view animator.
Create a pickup system for weapons and ammo with networked weapon prefabs, 3d sound, and trigger-based pickups at multiple weapon spawn points.
Spawn weapons across multiple points using an array-driven system, Photon Network instantiation, and a rotating weapon prefab; ensure only one spawn occurs and prepare for pickup interactions.
Tag the player, create a weapon pickups script, and use Photon RPCs to play a pickup sound across clients while hiding the weapon and delaying its respawn.
Group all weapon sub-items under a single child and toggle it off to disable pickups; differentiate weapons two and three with an integer weapon type.
Synchronize weapon changes across clients in a Unity Photon multiplayer game using transform views and RPCs, ensuring only the local player updates and changes are buffered for late joiners.
Fixes the handgrip setup by assigning distinct left and right grips and thumb targets for all weapons, and adjusts prefab, spawn, move speed, and jump for server stability.
Create the main menu and lobby menu in Unity by importing battle menu sprites, configuring a scalable canvas, and adding a background, title, nickname input, and enter and exit buttons.
Design the main menu to accept a nickname, display a connecting status, and connect to the server using a game manager script, wiring enter and exit buttons.
Create a Unity lobby scene with a 1920x1080 canvas, background and level buttons, plus hover-activated descriptions for kill count, team battle, and no respawn.
Create a Unity lobby UI with hover descriptions using the event system, manage three Photon lobbies (kill count, team battle, no respawn), and load levels via scene management.
Create a color selection panel in Unity using UI buttons to assign player colors, then send the choice via Photon RPC to synchronize across all clients.
Learn how to implement a color selection system in Unity for a multiplayer game, including cursor management, panel handling, and RPC-based color assignment across clients.
display all player nicknames and health bars on the left with a dark background panel and right-aligned text; implement a nicknames script to update UI from color choices.
Learn to dynamically show only active players by toggling name and health bar UI, using a display color script to switch items on and off based on in-game characters.
Implement a server-synced countdown timer in a Unity Photon multiplayer game, starting on the first click, displaying minutes and seconds with proper zero-padding, and synchronizing across all clients.
Turn weapon icons into ui sprites, place a bottom-right weapon ui with image and ammo text, and wire updates to the weapon change script for icon and ammo amount changes.
Learn to display a dynamic kill count in a Unity multiplayer game by creating a two-field score list, sorting players by kills, and toggling the panel with the K key.
Create a waiting screen in Unity with Photon PUN to hold players until the room fills, display join counts, and transition to the choose colors scene once all join.
Enable enter button in the Unity multiplayer lobby when enough players join, updating hints and alignment. Script the UI to swap elements and erase current players count upon entering arena.
Detect escape, verify ownership, wait for data removal, remove the player's name and health bar, broadcast via rpc, then leave the room and reload the lobby while re-enabling the cursor.
Implement a functional exit button on the waiting screen in a Unity multiplayer game, exit the room after a brief pause, and load the lobby with the cursor restored.
Finish the lobby scene in Unity by updating the connection UI, toggling the room number, and showing a connecting state when joining a room, plus disconnecting from Photon on return.
Attach muzzle flash visuals to weapons in Unity using a quad, alpha clipping, and universal render pipeline materials, then control flashes with a left-click script and prepare for sound integration.
Learn to implement shooting in a Unity multiplayer game by raycasting from the main camera to damage enemy health bars while avoiding self-hit with ignore raycast.
Send a buffered RPC to apply damage to a named character, divide by player count, and update health bars' fill amounts across clients using the nickname and display color scripts.
Fix issues in the multiplayer combat system by simplifying gun damage, removing the photon network play account, and guarding the display color component so damage, health bars, and animations work.
Add death and hit animations to characters, wire animator parameters and transitions, and disable movement when dead while updating health bar to zero.
Implement death state logic in Unity by adding an isDead flag to disable gun rotation for dead players, and display a network-synced kill message using Photon RPC.
Update kill counts in Unity by storing per-character kills in the nickname script, incrementing the winner's kills with a custom function and inspector setup for six characters.
Fix issues in a multiplayer Unity game by making dead players immune to shots through ignore raycast, ensuring only the client master spawns weapons, and preparing for character respawns.
Implement networked respawning by recording the start position, waiting a few seconds, then respawning across one frame to the original spawn; reset health, animations, and layers via rpc.
Implement a respawn UI with a panel and text that shows a countdown and 'respawning' message, controlled by a coroutine and a player script.
Explore implementing per-player ammo management in Unity: initialize ammo per weapon, update ammo on fire, handle pickups to replenish ammo, and keep on-screen ammo text synchronized.
Set up a winner panel in Unity to display the game winner when time reaches zero, using the kill count panel to determine the winner and update the winner text.
Set up a two-team battle by renaming and loading the kill count scene, updating lobby text, and assigning six players into three red and three green teams with team colors.
Build a team kill count using a team kill count script for red and green teams, connect to the kill count panel and winner text, then test across the network.
Learn to implement a no respawn mode in a Unity multiplayer game by updating scenes, nickname and display scripts to eliminate players and return them to the lobby.
Enable no-respawn mode in Unity and connect it to timer and winner UI, using photon network to detect last player standing and display the winner on the kill count panel.
Export a Unity multiplayer game by finalizing 30-minute six-player modes with no respawn, removing debug logs, and configuring build and player settings for a Windows release (not a dev build).
Have you ever wanted to make a multiplayer game in Unity? Well in this course I'm going to show you how.
I'm providing you with a 3D level that I created and I'm going to be taking you through the design step by step meaning you don't need to have any previous experience
We will cover character setup, changing weapons, 3rd person camera follow and gun aiming
I will be using Photon Unity Networking - Pun, which is completely free. I will be explaining the coding for networking in detail so that you can incorporate it into nay of your own projects as well.
We will be looking at how to synchronize data across the network, killing characters and have healthbars update on everyone's screen, displaying key stats such as killcounts and displaying winners across the network.
We will also create a main menu and lobby menu for three different game types
I will show you how to leave a game and return to the lobby, so that the player data is also removed
We will also be covering team battle games, in this case red and green teams as well as having a no respawn game mode, so if you are killed you return to the lobby. Last player standing then wins.
By the end of this course you will have developed skills upto an intermediate level in multiplayer game design. So why not join today and I look forward to seeing you in my course.
Music from free-stock-music
fsm-team racing, fsm-team craft and time-rider