In follow up to our hugely successful Complete Unreal Engine Developer course we bring you Unreal Multiplayer Mastery - as on featured on Epic's UE4 blog.
In this section we teach the basic client server model and get multiple instances connected through a collaborative puzzle game.
You're welcome to download, fork or do whatever else legal with all the files! The real value is in our huge, high-quality online tutorials that accompany this repo. You can check out the course here: Unreal Multiplayer Mastery
- Why you should take the course.
- We overview the journey.
- What are the prerequisites?
- Overview of the course structure.
- What will we cover this section.
- Let's get stuck in!
- Notes on Unreal versions.
- Creating the base project.
- Testing with multiple players.
- What's under the hood.
- Finding an Unreal .gitignore.
- Source control and where to get code.
- Our community site.
- Reading the slides.
- Our rich community.
- Overview of multiplayer game types.
- Outlining the journey.
- Sharing our ambitions.
- Client-Server vs Peer-to-Peer
- Launching a game from the command-line.
- Launching a dedicated server.
- Join with clients.
- Create a
AStaticMeshActor
subclass. - Adding mobility in C++.
- Running code only on the server.
- Understand Actor "Authority".
- Enable replication of movement.
- What happens with disagreement.
- Adding 3D gizmos to a UPROPERTY.
- Vector for A to B travel.
- Moving our platform.
- What we want to achieve.
- Continuing past the target.
- Swapping the start and target.
- Better jump controls.
- Layout a puzzle.
- Local vs global internet.
- Simulating LAN with Hamachi.
- Connecting Unreal over Hamachi.
- Getting connected with others.
- Create the C++ class.
- Add a box component.
- Tweak the Blueprint.
- Place it in the world.
- Implement the handler function.
- Register the event callback.
- Reloading the map to call constructors.
- Repeat for
EndOverlap
.
- The desired behaviour.
- Creating the platform interface.
- TArray for hooking up platforms.
- Implementing the logic.
- What is a
GameInstance
? - Set a custom
GameInstance
for you project. - Init vs Constructor.
- What is the console.
- What classes support Exec functions.
- Creating out own.
- How to log to the screen from C++.
- Dealing with arguments.
- Creating a Lobby.
- What is travelling?
- Hosting a server with travel.
- Testing with and without
?listen
.
ClientTravel
vsServerTravel
.- Getting the
PlayerController
. - Implementing
ClientTravel
.
- Building your game.
- Introduction to Itch.io.
- A note on security.
- Sharing our game.
- Well done!
- Get inspired to extend your project.
- Make sure you're ready for the next section.