We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Unreal Engine 5 C++ Multiplayer

Make An Online Co-op Game

GameDev.tv Team and Kaan Alpar

Want to learn how to make your own online multiplayer adventure games?

In this course you’ll use the latest Unreal Engine 5 features and C++ to do just that.

Read more

Want to learn how to make your own online multiplayer adventure games?

In this course you’ll use the latest Unreal Engine 5 features and C++ to do just that.

The main game in this course is a two player co-op action adventure game, but you can apply the code and principles to whatever type of online multiplayer game you want to make.

Along with learning all about level design, you’ll also create different gameplay features like pressure plates, movable platforms and doors, and collectible keys.

By the end of the course you’ll have a fun co-op adventure game you can play with your friend online. Plus the tools to continue to work on it and really make it your own.

Understanding online multiplayer is difficult, this course makes it simple by giving you easy to understand explanations and step by step examples.

Even if you understand the basics of multiplayer, it’s still difficult to make a multiplayer game. This course will teach you how to put your knowledge to practical use, showing you how to make a full game.

This is an intermediate course, so if you already know a bit of Unreal and have an understanding of basic coding concepts this is the course for you.

You’ll get full lifetime access for a single one-off fee. The creators are qualified and experienced with modelling and coding, so are able to explain complex concepts clearly, as well as entertain along the way.

You’ll also gain access to a course forum where you can discuss topics on a course-wide basis, or down to the individual video. Get plugged into our communities of amazing developers on Facebook (nearly 20k), in our own TA-curated Community (17k views/day), and our student chat group (10k live at any one time).

So enrol today and create your own multiplayer game.

Enroll now

What's inside

Learning objectives

  • Learn intermediate c++ and the latest ue5 tech to make your own online multiplayer adventure games.
  • Fundamentals of making online multiplayer games in unreal.
  • Create online gameplay sessions.
  • Program online multiplayer gameplay.
  • Master the replication system (the part of unreal used to make multiplayer games).
  • Use the online subsystem (which unreal uses to create online gameplay sessions).
  • Use steam’s online services to connect across the internet.
  • Design and program a 2 player co-op adventure game that you can play with your friend over the internet.
  • We’ll also teach you about level design.

Syllabus

Introduction & Setup

In this video (objectives)…

  1. Welcome message before we start the course

In this video (objectives)…

  1. Talking about Unreal version, text editor and creating a new project

Read more
UE 5.3 Warning: Client Travel Fails

In this video (objectives)…

  1. We introduce the ways that you can get help, support and contribute to the community.

In this video (objectives)…

  1. Any time we change our project during a lecture we will commit that change to a public source control repository for students to access. In this video, we show you how to access that content.

Multiplayer Fundamentals

In this video (objectives)…

  1. Talking about the topics we are going to cover in this section.

In this video (objectives)…

  1. Overview of multiplayer concepts and Unreal’s replication system.

In this video (objectives)…

  1. Learning what net modes are and testing them.

In this video (objectives)…

  1. Connecting over LAN in order to test the game with multiple computers.

In this video (objectives)…

  1. Introduction to Unreal’s replication system.

In this video (objectives)…

  1. Understanding network roles and authority in a network multiplayer game.

In this video (objectives)…

  1. Example of network roles in practice.

In this video (objectives)…

  1. Learning how to designate a variable to be replicated in C++ and Blueprint.

In this video (objectives)…

  1. Learning how to add a RepNotify function that gets called when the client receives the replicated info for a variable.

In this video (objectives)…

  1. Diving deeper into RepNotify functions by creating a new example case.

In this video (objectives)…

  1. Understanding how server RPCs work in theory and practice.

In this video (objectives)…

  1. Taking our server rpc further by spawning static mesh actors on the server.

In this video (objectives)…

  1. Validating the data sent by an RPC

In this video (objectives)…

  1. Learning how to use multicast RPCs in Unreal using C++

In this video (objectives)…

  1. Spawning particle effects on clients using a multicast rpc.

In this video (objectives)…

  1. Actors and their owners play an important role in replication.

In this video (objectives)…

  1. RPCs that are called on the server and executed on a specific client.

In this video (objectives)…

  1. Wrapping up the section with some final advice and tips.

Online Subsystem

In this video (objectives)…

  1. Brief intro on the section learning goals.

In this video (objectives)…

  1. Introduction to the Online Subsystem in Unreal.

In this video (objectives)…

  1. Creating a new project and configuring it to use Online Subsystem Steam.

In this video (objectives)…

  1. Creating a game instance subsystem to store our multiplayer session handling code.

In this video (objectives)…

  1. Creating the main menu level and widget blueprint.

In this video (objectives)…

  1. Understanding the role of the session interface and accesing it in C++.

In this video (objectives)…

  1. Learning how to write a batch script to test our game in a more efficient way.

In this video (objectives)…

  1. Accessing MultiplayerSessionsSubsystem from the widget blueprint and calling its functions.

In this video (objectives)…

  1. Creating a session with the CreateSession function of the session interface.

In this video (objectives)…

  1. Learning how to use the session interface’s delegates so that we can do something after our session is created.

In this video (objectives)…

  1. Destroying if a session with the same name exists before trying to create a new one.

In this video (objectives)…

  1. Calling CreateServer again after we destroy the existing session, using the delegate.

In this video (objectives)…

  1. Finding sessions that are online with FindSessions function of session interface.

In this video (objectives)…

  1. Storing the ServerName in the session and getting it back from the search results.

In this video (objectives)…

  1. Wee see how to join the correct session and ClientTravel into the game world.

In this video (objectives)…

  1. Using a WidgetSwitcher to make the create server and the join server menu.

In this video (objectives)…

  1. Programming the blueprint functionality for our two new menus.

In this video (objectives)…

  1. Creating custom delegates so that we can disable the menu buttons when they are clicked and enable them if the call fails.

In this video (objectives)…

  1. Wrapping up the Online Subsystem section with some final thoughts.

Co-op Adventure Gameplay

In this video (objectives)…

  1. Introducing what we’re going to cover in this section.

In this video (objectives)…

  1. Installing the asset pack that we are going to use and travel to it from the main menu.

In this video (objectives)…

  1. Creating the pressure plate actor that we will use to activate moving platforms and doors.

In this video (objectives)…

  1. Creating the components for the pressure plate in the constructor.

In this video (objectives)…

  1. Creating the blueprint class for the pressure plate.

In this video (objectives)…

  1. Implementing the Tick function for the pressure plate.

In this video (objectives)…

  1. We create custom delegates in the pressure plate so that we can broadcast them when the pressure plate is activated and deactivated.

In this video (objectives)…

  1. Creating the component that moves its owner from one point to the other point.

In this video (objectives)…

  1. Working on the constructor for Transporter and creating a function to set start and end points.

In this video (objectives)…

  1. Binding functions to the pressure plate’s delegates from the transporter component so that we can keep track of how many are activated.

In this video (objectives)…

  1. Implementing the main functionality of the transporter component in the tick function.

In this video (objectives)…

  1. Creating an actor class that we can reuse to create various moving actors.

In this video (objectives)…

  1. Writing the code for the constructor of the movable actor class.

In this video (objectives)…

  1. Creating the moving platform blueprint using the movable actor class.

In this video (objectives)…

  1. Creating the moving door blueprint using the movable actor class.

In this video (objectives)…

  1. Using the transporter component to animate the pressure plate when its activated.

In this video (objectives)…

  1. A new actor class for the collectable keys we are going to place on the map.

In this video (objectives)…

  1. Detecting when the player touches the key and collection logic.

In this video (objectives)…

  1. Making the key look nicer by rotating the static mesh and adding a sound effect when its collected.

In this video (objectives)…

  1. Creating a new C++ class that’s going to have a key static mesh on top of a small pillar. When the player collects a key it will appear on this object.

In this video (objectives)…

  1. Activating the key mesh of the key holder when a player collects the associated key.

In this video (objectives)…

  1. Using the keys as trigger actors in order to activate a transporter component by collecting them.

In this video (objectives)…

  1. A new actor class that detects players and end the game with a victory.

In this video (objectives)…

  1. Creating an RPC to instruct the server and the client to show the win screen.

In this video (objectives)…

  1. Designing a widget blueprint that we are going to show when the game is won.

In this video (objectives)…

  1. Customizing the player movement in order to create better controls.

In this video (objectives)…

  1. Starting to design the level, we kick things off by making the first puzzle.

In this video (objectives)…

  1. We design and test the second puzzle of our level.

In this video (objectives)…

  1. Ending the section strong with the final puzzle of the game!

In this video (objectives)…

  1. Wrapping up the section with some final words.

Continuing Your GameDev Journey
BONUS Lecture

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by GameDev.tv Team and Kaan Alpar, who are recognized for their work in game design and programming
Useful for personal growth and development for game creators
Covers unique perspectives are ideas that may add color to other topics and subjects
Explores the latest multiplayer gaming techniques and C++ programming for intermediate learners
Developers can start learning the newest concepts of Unreal Engine 5
Teaches learners how to design online multiplayer games, which is invaluable for game developers

Save this course

Save Unreal Engine 5 C++ Multiplayer: Make An Online Co-op Game to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Unreal Engine 5 C++ Multiplayer: Make An Online Co-op Game. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Unreal Engine 5 C++ Multiplayer: Make An Online Co-op Game will develop knowledge and skills that may be useful to these careers:
Game Developer
Game Developers design, develop, test, and maintain software for video games and other interactive entertainment applications. This course will help you build a strong foundation in the core concepts of game development, including level design, multiplayer gameplay programming, and online services integration. Upon completion of this course, you will have the skills and knowledge necessary to create your own online multiplayer adventure games.
Game Programmer
Game Programmers are responsible for writing the code that makes games work. This course will help you build a strong foundation in the C++ programming language and the Unreal Engine, which are essential tools for game development. You will also learn how to design and program online multiplayer gameplay, which is a critical skill for modern game development.
Game Designer
Game Designers create the overall concept and design for video games. This course will help you build the skills you need to prototype and design your own games, as well as to work with other game developers to bring your ideas to life. You will also learn how to design online multiplayer experiences, which is an increasingly important aspect of game design.
Technical Artist
Technical Artists combine artistic and technical skills to create assets and effects for video games. This course will help you build a strong foundation in the software and tools used by Technical Artists, such as 3D modeling and animation software. You will also learn how to integrate your work with game code, which is essential for creating immersive and engaging game experiences.
Software Engineer
Software Engineers design, develop, test, and maintain software systems. This course will help you build a strong foundation in the fundamentals of software engineering, including software design, programming, and testing. You will also learn how to work with other engineers to develop and maintain complex software systems, which is an essential skill for any Software Engineer.
Web Developer
Web Developers design, develop, and maintain websites and web applications. This course may be useful for Web Developers who want to learn how to create and maintain online multiplayer experiences. You will learn how to use the Unreal Engine to create 3D games and simulations, and how to integrate your work with web technologies. This knowledge can be valuable for Web Developers who want to create more immersive and engaging web experiences.
Project Manager
Project Managers plan, execute, and close projects. This course may be useful for Project Managers who want to learn how to manage the development of online multiplayer games. You will learn how to plan and schedule a game development project, and how to track progress and manage risk. This knowledge can be valuable for Project Managers who want to help game developers deliver successful and on-time projects.
Data Analyst
Data Analysts collect, analyze, and interpret data to help businesses make informed decisions. This course may be useful for Data Analysts who want to learn how to use data to improve the player experience in online multiplayer games. You will learn how to collect and analyze data from game servers, and how to use this data to identify and fix problems. This knowledge can be valuable for Data Analysts who want to help game developers create more successful and engaging games.
Computer Scientist
Computer Scientists research and develop new computing technologies. This course may be useful for Computer Scientists who want to learn how to develop new technologies for online multiplayer games. You will learn about the latest advances in computer science research, and how to apply these advances to the development of new game technologies. This knowledge can be valuable for Computer Scientists who want to help game developers create more innovative and immersive games.
User Experience Designer
User Experience Designers design and evaluate the user experience of products and services. This course may be useful for User Experience Designers who want to learn how to design and evaluate the user experience of online multiplayer games. You will learn how to create user-centered designs, and how to conduct user research to validate your designs. This knowledge can be valuable for User Experience Designers who want to help game developers create more user-friendly and engaging games.
Quality Assurance Analyst
Quality Assurance Analysts test and evaluate software to ensure that it meets quality standards. This course may be useful for Quality Assurance Analysts who want to learn how to test and evaluate online multiplayer games. You will learn how to test for bugs and performance issues, and how to write and execute test cases. This knowledge can be valuable for Quality Assurance Analysts who want to help game developers create high-quality and bug-free games.
Game Producer
Game Producers manage the development and production of video games. This course may be useful for Game Producers who want to learn how to produce online multiplayer games. You will learn how to plan and schedule a game development project, and how to track progress and manage risk. This knowledge can be valuable for Game Producers who want to help game developers deliver successful and on-time projects.
Business Analyst
Business Analysts analyze and evaluate business processes to identify opportunities for improvement. This course may be useful for Business Analysts who want to learn how to analyze and evaluate the business of online multiplayer games. You will learn how to identify and quantify business opportunities, and how to develop and implement solutions to improve profitability. This knowledge can be valuable for Business Analysts who want to help game developers make more money from their games.
Game Tester
Game Testers test and evaluate video games to identify bugs and other problems. This course may be useful for Game Testers who want to learn how to test online multiplayer games. You will learn how to test for bugs and performance issues, and how to write and execute test cases. This knowledge can be valuable for Game Testers who want to help game developers create high-quality and bug-free games.
Game Writer
Game Writers write the story and dialogue for video games. This course may be useful for Game Writers who want to learn how to write for online multiplayer games. You will learn how to create compelling stories and characters, and how to write dialogue that is both engaging and informative. This knowledge can be valuable for Game Writers who want to help game developers create more immersive and engaging games.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Unreal Engine 5 C++ Multiplayer: Make An Online Co-op Game.
Explores various design patterns in game development. While the book is language-agnostic, it provides a good conceptual background to general game development.
Good starting point for those who are new to C++ and want to learn the basics of game development. It covers fundamental concepts such as object-oriented programming, data structures, and algorithms, which are essential for multiplayer game programming.
Provides a deep dive into the physics aspects of game development, covering topics such as collision detection, rigid body dynamics, and fluid simulation. It valuable resource for those who want to understand the underlying physics principles that drive multiplayer game mechanics.
Classic in the field of computer graphics, providing a comprehensive overview of real-time rendering techniques. It covers topics such as lighting, shading, and post-processing, which are essential for creating visually stunning multiplayer games.
Provides a deep dive into the architecture and design patterns of open source software applications. It can provide valuable insights for those who want to understand the best practices and principles used in developing robust and scalable multiplayer game systems.
While this book is not directly focused on multiplayer game development, it offers valuable insights into the theory and design principles of games in general. It good read for those who want to understand the fundamental concepts that underpin multiplayer game experiences.
Comprehensive guide to multiplayer game programming. It covers topics such as networking, replication, and online services. It good reference book that can be used to supplement the course materials.
Detailed overview of game engine architecture. It covers topics such as networking, rendering, and physics. It good reference book that can be used to supplement the course materials.
Collection of algorithms and techniques that are commonly used in game programming. It covers topics such as pathfinding, AI, and physics. It good reference book that can be used to supplement the course materials.

Share

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

Similar courses

Here are nine courses similar to Unreal Engine 5 C++ Multiplayer: Make An Online Co-op Game.
Unity Multiplayer UNET Build Online Shooter . Code...
Most relevant
Build Your Multiplayer VR Game From Scratch With Fusion
Most relevant
Full BabylonJS Game Dev (2D, 3D, Online with ColyseusJS)
Most relevant
Teach teens computing: Object-oriented Programming in...
Collaborative Foresight: How to Game the Future
Online Games: Literature, New Media, and Narrative
Unreal Engine 5 C++ Developer: Learn C++ & Make Video...
Fortnite Fundamentals: Strategies, Mechanics & Game...
Flappy Bird Clone - The Complete SFML C++ Game Course
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 - 2024 OpenCourser