We may earn an affiliate commission when you visit our partners.
Course image
Stephen Ulibarri

Over 64 hours of content.

Read more

Over 64 hours of content.

Learn all about Unreal Engine multiplayer in this fully comprehensive C++ course. From scratch, we create a complete multiplayer shooter game, capable of creating and joining game sessions and connecting many players across the internet. We'll create our very own custom plugin that can be added to any Unreal Engine project to easily turn it into a multiplayer game.We learn how to optimize our game for the best performance, as competitive shooters require the highest performance possible. We'll implement lag compensation techniques such as client-side prediction and server-side rewind, so the game performs smoothly even in the presence of high lag. We learn how to use the proper game classes for each multiplayer mechanic. Custom match states, warmup/cooldown match timers, Elim announcements, HUD with health, shields, ammo and grenades, and more. We keep all important functionality on the server, to prevent cheating, and learn the proper way to use the Player Controller, Game Mode, Game State, Player State, Character and Game Instance classes.We make assault rifles, pistols, submachine guns, rocket launchers, grenade launchers, sniper rifles and throwing grenades.  All functional in multiplayer, optimized for best performance.After this course, you'll be able to create any multiplayer game you want. If you can do a fast-paced shooter well, you can do any game, because fast-paced, competitive games require the best performance possible.

This course assumes that you have knowledge of C++ programming basics. Knowledge of variables, classes, inheritance, and object-oriented programming is recommended to have the best experience in this course.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Introduction

Welcome to the Unreal Engine 5 C++ Multiplayer Shooter Course!

Jetbrains Rider is now free for non-commercial use!

Read more

We discuss important information you need to get the best out of this course

We learn about how multiplayer games are architected, and go over the peer-to-peer and client-server models, and learn which of these Unreal Engine uses.

We learn how to test multiplayer in the PIE

We connect two machines via a LAN connection

We learn about the Online Subsystem and how it provides an abstraction layer so we can use the same code for multiple online services

We learn about Online Sessions and how they work

We configure our project for Steam multiplayer

We learn how to access Unreal Engine's Online Subsystem from C++ code

We learn how to create an online session

We create the necessary setup for joining sessions

We discuss Steam Regions and why they can help improve our multiplayer network experience

We actually join a game session

We create our own plugin that can be added to any Unreal Engine project

We create our own custom Subsystem that is constructed alongside the Game Instance

We learn about delegates in the Session Interface

We create a Menu class

We access our own custom Subsystem

Read this important note on the OnLevelRemovedFromWorld function being replaced.

We create a multiplayer online session

We add function callbacks for our Subsystem's delegates

We create more delegates for our Subsystem

We implement joining sessions from our Menu

We track the number of incoming players in the Game Mode

We add a path to the Lobby level

We polish up our Menu Subsystem

A quiz on what you've learned about our Multiplayer Sessions Subsystem

We create our Multiplayer Project

Make sure you get this part right. If you can't create sessions, come back to this and make sure your DefaultEngine.ini matches this.

We test an Online Session in our new project

We get our hands on some free assets to use for our project

Follow the link in the resources to see how to retarget animations in Unreal Engine 5!

We retarget animations to our Character from the Epic Mannequin and the Mixamo Skeleton

We create the Blaster Character class

We add a Camera and a Spring Arm to our Blaster Character

We implement the basic movement functionality for our Blaster Character

We create the Anim Instance C++ class and a new Animation Blueprint for our Blaster Character

We learn about Seamless and Non-Seamless Travel and configure our game to use Seamless Travel

We learn about the concept of Network Role and how it works in Multiplayer

A quiz on what you've learned about Network Role and Seamless Travel in this section

We create the Weapon class, which will be the parent for each of our specialized Weapons in the game

We create a Widget that can inform the player when they can pick up a Weapon

We learn how to mark a variable for replication, and replicate the current Overlapping Weapon

We create a Combat Component class to handle combat-related functionality, and create an EquipWeapon function so we can equip Weapons

We learn about RPCs (Remote Procedure Calls), which are functions designed to be called on one machine and executed on another

We add an equipped pose to our Animation Blueprint

We make use of the Crouch function, and take advantage of the multiplayer crouching capabilities built-in to the Character class

We add the ability to aim, and replicate the aiming state to all clients so they can see our Character in the aiming pose

We create our running Blendspace and add axis values for leaning and strafing

We calculate the necessary values to pass into our Blendspace to lean and strafe

We round out our animation Blueprint with Idle and Jumping states

We add the ability to crouch walk

We add an Aim Walking state, allowing our Character to change its speed and pose as we aim while walking

We extract animation poses from the Aim Offset animation, and convert them to additive animations

We apply our aiming poses to an Aim Offset asset and test its functionality

We discuss how rotational values are serialized and compressed before being sent across the network

We implement our aiming and hip Aim Offsets in our Animation Blueprint

We use Inverse Kinematics to place the left hand on a socket on the Weapon so our grip is always correct

We implement an algorithm for turning in place when our Yaw exceeds 90 degrees

We use a Rotate Root Bone node in our Animation Blueprint to implement turning in place

We discuss the Net Update Frequency, a variable that determines how often an Actor will be considered for replication

We add crouching capability to our Character when unequipped

We create rotated running animations for leaning

We add footstep and jump sounds to our running and jumping animations, and make sure they have sound attenuations

A quiz testing your understanding of what you've learned in the Weapon Section

We discuss the difference between Hit Scan and Projectile Weapons, and create our first specialized weapon type: the Projectile Weapon

We create a weapon firing Animation Montage and play it in response to user input

We add Weapon firing effects so we can see and hear gunshots

We implement our fire effects in multiplayer so all machines can see when someone fires

We calculate a Hit Target vector so we can launch our projectiles precisely

We spawn projectiles when firing the weapon

We add a Projectile Movement Component to our Projectile class so it can fly through the air

We add a tracer to our projectile so we can see rapid-flying projectiles

We send the Hit Target data to the server so it knows where to launch the projectile

We bind a function to the OnHit delegate on our projectile's collision box

We create a class for bullet shells and spawn bullet shells from our weapon when we fire

We add an impulse to the crosshairs so we can launch them from the weapon, and play shells sounds with a Hit Event

A quiz on what you've learned about Firing Weapons

We create a Blaster Player Controller and a Blaster HUD class for our game

We create a function for drawing the HUD textures to the screen

We add the ability to spread and shrink the crosshairs based on in-game events

We transform the right hand so our weapon always faces the direction we're shooting

We zoom in while aiming our weapon

Shrink Crosshairs when Aiming

Change Crosshairs Color

We extend the starting point of our line trace so we never hit our own Character or shoot in the wrong direction

We implement hit reactions when our projectiles hit the Blaster Character

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses C++ and Unreal Engine 5, which are industry standards for creating high-performance games, especially in the competitive shooter genre
Covers lag compensation techniques like client-side prediction and server-side rewind, which are essential for creating a smooth multiplayer experience
Explores the proper use of Player Controller, Game Mode, Game State, Player State, Character, and Game Instance classes, which are fundamental for multiplayer game architecture
Requires knowledge of C++ programming basics, including variables, classes, inheritance, and object-oriented programming, which may be a barrier for some beginners
Focuses on creating a fast-paced shooter, which may not be directly applicable to other game genres without significant adaptation of the concepts
Teaches how to create a custom plugin that can be added to any Unreal Engine project, which can save time and effort when developing future multiplayer games

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Mastering ue5 c++ multiplayer shooter development

According to learners, this course offers a highly comprehensive and practical deep dive into creating a multiplayer shooter game with Unreal Engine 5 and C++. Many students praise the instructor's ability to explain complex replication and networking concepts clearly. The project-based structure is highlighted as particularly useful, providing hands-on experience building a full game. However, some reviewers found the course challenging, emphasizing the necessity of a solid C++ background. Keeping the project synchronized with frequent Unreal Engine updates is also noted as requiring extra effort outside the course material.
Extensive 64+ hours of material.
"The amount of content is massive, definitely feels comprehensive."
"Over 60 hours ensures every detail is covered."
"This course is incredibly thorough, taking its time on each feature."
"Be ready for a long commitment, but the depth is impressive."
Instructor explains complex concepts clearly.
"The instructor breaks down difficult topics really well."
"Loved the instructor's pacing and explanations."
"He explains *why* things are done a certain way, not just how."
Builds a complete, functional game.
"Building a full shooter project was incredibly rewarding and practical."
"Loved that we built a real game from start to finish, not just snippets."
"The hands-on project work solidified my learning more than anything."
"Actually creating weapons and game modes made the concepts stick."
Covers complex replication and networking.
"I finally understand replication thanks to this course. The explanations were clear."
"Covers really advanced topics like lag compensation which is crucial for shooters."
"The depth on networking models and RPCs is exactly what I needed."
"It's great to see how complex multiplayer mechanics are built from scratch."
Debugging multiplayer can be challenging.
"Spent a lot of time debugging networking issues that were hard to track."
"Debugging multiplayer C++ is tough, the course helps but it's still hard."
"Be prepared for lots of debugging, it's part of the process."
Content requires adaptation for updates.
"Unreal Engine updates constantly, so some parts required troubleshooting."
"Had to spend time debugging issues caused by newer UE versions."
"While the core concepts are timeless, the implementation details can change."
"It's a constant battle to match the course version with the latest UE."
Essential prerequisite for success.
"Make sure you have a solid grasp of C++ and OOP before starting this."
"Found it quite difficult to keep up without a very strong C++ foundation."
"This is not a beginner C++ course; it jumps straight into complex topics."
"Be prepared for a steep learning curve if your C++ isn't advanced."

Activities

Coming soon We're preparing activities for Unreal Engine 5 C++ Multiplayer Shooter. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Unreal Engine 5 C++ Multiplayer Shooter will develop knowledge and skills that may be useful to these careers:
Game Developer
A game developer brings video game concepts to life, writing code and designing gameplay mechanics. This course helps game developers, especially those focused on multiplayer games, learn to architect online interactions using Unreal Engine 5 and C++. By creating a multiplayer shooter from scratch, the course provides practical experience in developing game sessions, optimizing performance, and implementing lag compensation techniques. The knowledge gained here will help a game developer build networking capabilities, handle player interactions, and prevent cheating, all essential for creating engaging multiplayer experiences. This course offers valuable skills for creating competitive and high-performance games.
Unreal Engine Developer
An Unreal Engine developer specializes in using the Unreal Engine to create interactive experiences, ranging from games to simulations. This course is invaluable for an Unreal Engine developer who wants to master multiplayer functionality. It offers a deep dive into Unreal Engine's C++ capabilities, showing how to create online sessions, manage player connections, and optimize performance. The course's focus on building a multiplayer shooter provides hands-on experience with essential networking concepts, such as lag compensation and server-side authority, while also teaching the use of crucial game classes like Player Controller, Game Mode, and Game State.
Multiplayer Programmer
A multiplayer programmer focuses on the design, development, and implementation of networked gameplay features. This course will enable a multiplayer programmer to create robust and scalable online experiences using Unreal Engine 5. It covers essential topics such as creating and joining game sessions, optimizing game performance, and implementing lag compensation techniques like client-side prediction. By creating a complete multiplayer shooter, the course offers hands-on experience with the tools and techniques necessary to build engaging and cheat-resistant multiplayer games. The focus on server-side authority and proper game class usage are especially useful.
Network Programmer
A network programmer specializes in the technical aspects of connecting players in online games. This course helps a network programmer develop expertise in Unreal Engine 5's networking capabilities. By creating a complete multiplayer shooter from the ground up, the course offers practical experience in managing online sessions, optimizing network performance, and implementing lag compensation techniques. The course's emphasis on server-side authority, client-side prediction, and proper game class usage will help a network programmer build robust and cheat-resistant multiplayer systems. This course may serve as a solid foundation for understanding the intricacies of building networked games.
Gameplay Programmer
A gameplay programmer is responsible for implementing the rules, mechanics, and interactions that define a video game's experience. This course provides gameplay programmers with the tools and knowledge to create compelling multiplayer experiences in Unreal Engine 5. By creating a complete multiplayer shooter, the course offers hands-on experience with implementing game mechanics, managing player interactions, and optimizing performance for online play. The course's focus on weapons, HUDs, and game states is particularly relevant, as is learning how to prevent cheating. This is useful for those who wish to learn how to translate game design concepts into functional, engaging gameplay.
Software Engineer
A software engineer designs, develops, and tests software applications. This course will benefit any software engineer looking to apply their skills to game development, specifically in the realm of multiplayer games. The course provides practical experience in C++ programming within the Unreal Engine 5, covering topics such as online session management, network optimization, and cheat prevention. The project-based approach, where a multiplayer shooter is built from scratch, allows software engineers to gain hands-on experience with game development concepts and best practices. This course can help any engineer develop a strong foundation in building networked applications.
Tools Programmer
A tools programmer develops software that helps game developers streamline their workflow. This course may be helpful to tools programmers who want to enhance their understanding of Unreal Engine 5's multiplayer capabilities. The course demonstrates how to create custom plugins and subsystems, which a tools programmer can adapt to build tools that automate tasks such as session management, network debugging, or cheat detection. The course's practical approach and focus on optimizing performance are valuable for creating efficient and effective development tools. The knowledge of Unreal's Online Subsystem may also be particularly beneficial.
Simulation Developer
A simulation developer creates software that models real-world systems or environments for training, research, or entertainment purposes. This course may be useful for a simulation developer who wants to leverage Unreal Engine 5's capabilities to create realistic and interactive simulations with multiplayer components. The course's focus on network optimization, lag compensation, and server-side authority is relevant for building simulations that accurately represent complex interactions between multiple users or entities. This course may help simulation developers to build a strong foundation for creating networked simulation environments.
Technical Artist
A technical artist serves as a bridge between art and programming, optimizing art assets for performance and implementing visual effects. This course may benefit technical artists working on multiplayer games in Unreal Engine 5. Specifically, the focus on performance optimization and the networking of visual elements, such as weapon effects and character animations, could expand the skillset of a technical artist. Understanding how to balance visual fidelity with network efficiency contributes to creating compelling and smooth online experiences. Gaining insight into how visual elements interact within a networked environment may prove advantageous.
Quality Assurance Tester
A quality assurance tester identifies and documents software defects to ensure product quality. This course may be useful for a quality assurance tester specializing in multiplayer games because it provides insights into the complexities of networking and game architecture. Understanding the underlying systems like online session management and replication facilitates the creation of more effective test plans and bug reports. This course may prove useful in helping a tester to identify and communicate issues related to network performance and gameplay synchronization.
Animator
An animator creates the movement and visual behavior of characters and objects in games. This course may be relevant to an animator working on a multiplayer game in Unreal Engine 5, as it delves into how animations are replicated and synchronized across a network. Understanding how character movement and weapon animations are handled in a multiplayer context can help animators optimize their work for online play, ensuring smooth and accurate visual representation of player actions. This course may provide insight into the technical aspects of network animation.
Level Designer
A level designer crafts the environments and layouts in which gameplay takes place. While this course is heavily focused on programming, a level designer may find some value in understanding how multiplayer games function on a technical level. This understanding may help a level designer to create environments that are optimized for network performance and facilitate engaging multiplayer interactions. A level designer could find that understanding the gameplay environment can further enhance their designs. This course may prove helpful for designers who want to create more compelling multiplayer maps.
Project Manager
A project manager is responsible for planning, executing, and closing projects. This course may be useful for a project manager overseeing the development of a multiplayer game in Unreal Engine 5. Although the course is technical, understanding the underlying complexities of multiplayer game development might help a project manager to create realistic schedules, allocate resources effectively, and communicate better with the development team. Familiarity with concepts like network optimization and cheat prevention may also help in making informed decisions about project scope and priorities.
Technical Writer
A technical writer creates documentation such as help guides and manuals. This course may be relevant to a technical writer who is documenting a game or game engine. The ability to grasp the intricacies of online session creation, and other complex tasks will help a technical writer produce high-quality documentation. This course may be helpful for improving a technical writer's breadth of knowledge.
Localization Specialist
A localization specialist adapts a game for different regional markets, translating text and adapting cultural elements. This course may be relevant to a localization specialist because it can better equip them to understand the multiplayer systems. Understanding the framework of the game will help a localization specialist to be more informed. This course may prove useful for expanding their overall breadth of knowledge of game development.

Reading list

We haven't picked any books for this reading list yet.
Covers effects and simulations in Unreal Engine 5, providing a deep dive into the topic.
Focuses on AI and machine learning in Unreal Engine 5, providing a comprehensive look at the tools and techniques used to create intelligent systems.
Covers virtual reality and augmented reality in Unreal Engine 5, providing a deep dive into the topic.
Aimed at both beginners and professionals, this book guides readers through the process of developing games with Unreal Engine 5. It starts with the basics of setting up the engine and creating fundamental game objects, progressing to more advanced topics like data structures and event handling. useful reference for practical game development within UE5.
Focuses specifically on Unreal Engine's powerful visual scripting system, Blueprints. It's ideal for those who want to create game logic and interactions without extensive coding. It serves as a valuable resource for artists and designers, as well as a strong complement to C++ programming knowledge.
Delves into the artistic side of Unreal Engine 5, focusing on creating characters, animations, and cinematic sequences. It covers tools like MetaHuman, Lumen, and Nanite, and integrates with external software like Blender and Quixel Mixer. This is highly relevant for those interested in the visual and narrative aspects of UE5 projects.
For those looking to leverage the power of C++ in Unreal Engine 5, this book provides a practical approach. It covers C++ fundamentals within the context of UE5 game development, guiding readers through creating a functional game. This core resource for programmers and those seeking to deepen their technical understanding.
Focusing on best practices for C++ and Blueprint development in Unreal Engine 5, this book explores design patterns for building maintainable and scalable systems. It's suitable for intermediate to advanced developers looking to improve their code quality and project structure.
Focuses on the practical aspects of learning game development using Unreal Engine 5. It likely includes hands-on projects and tutorials to help readers build their own games. This good resource for those who prefer a project-based learning approach.
Focused on the critical areas of lighting and rendering in Unreal Engine 5, this book would cover techniques for achieving realistic and stylized visuals. It would delve into features like Lumen and Nanite from a rendering perspective. This is essential for artists and technical artists.
Specifically addresses the complexities of creating multiplayer games with Unreal Engine 5, covering networking concepts and implementation details. It's a crucial resource for developers looking to add multiplayer functionality to their projects.
Explores the application of Unreal Engine 5 in creating Virtual Reality and Augmented Reality experiences. It would cover the specific considerations and workflows for developing for these platforms. This specialized topic for those in the immersive technology space.
Covers the creation of user interfaces using Unreal Engine's UMG (Unreal Motion Graphics) UI Designer. It's essential for developers who need to create menus, heads-up displays, and other user interface elements for their projects.
Tailored for architectural visualization professionals, this book explores using Unreal Engine 5 to create realistic architectural renderings and walkthroughs. It would cover importing models, setting up lighting, and creating interactive experiences for architectural projects.
Provides a comprehensive guide to game development with Unreal Engine 5, written in Japanese. It's designed as an introductory text for those new to UE, focusing on the practical application of features in a game development context. It's a valuable resource for Japanese-speaking learners.
This comprehensive guide covers all aspects of Unreal Engine 5, from installation and setup to advanced topics such as virtual reality and augmented reality.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser