Best Way to Start With Multiplayer Programming and C++

I know this question comes up a lot but I just wanted to see if anyone had similar experiences and could give me advice on the best way to get started. As some background I am a computer science student in college and I am looking to get into game development. I have looked at the first person shooter example project and for the most part I understand what is going on, but then I moved to the ShooterGame example project and I am not sure where to start when it comes to understanding a more complex project. When looking at the larger project I struggle to understand where/how some of the methods and files connect and run, particularly when it comes to the menu and multiplayer aspect. I know that there is a high learning curve with Unreal and I know there are a lot of tutorials out there for blueprints, but I know C++ and I would just like to know the best way to gradually get comfortable with Unreal and C++. I am wondering if there are any good courses or resources that people can recommend that will help me learn.

Thanks,
Adam

2 Likes

Hi, I started learning Unreal about a year ago. I am a programmer by profession (10+ years) and I had some experience with C++. My goal was the same as yours, I am mostly interested in building C++ multiplayer games. I did about 50 hours of video tutorials over the course of some months. Some were interesting and fun to do, with some it was hard to stay motivated (Mostly those topics I am not too interested in but I felt I should understand anyway, for me that’s anything content related, materials, level design, etc.)

I started out with Blueprints exclusively and left C++ aside. As others have written, it helps a ton to start out with Blueprints only because it teaches you the API and gives you a good idea how the engine works and what it expects you to do. In between those video tutorials I started some private projects just to fiddle a bit with things on my own, which was a lot of fun and helped me to know which tutorial I wanted to do next. E.g. when I started to create my own strategy game AI, I understood that I needed to know more how Unreal AI works and worked through a tutorial series dedicated to the topic.

I only started C++ tutorials recently, the last one was a series on C++ multiplayer. Now I feel pretty confident working with C++ and find my way around. Even if a lot of things are still unknown, I know how to find out more and understand the general way of things working together.

I hope this helps, even if I am by no means an expert on Unreal. Good luck with your projects!

2 Likes

Hey there!

Firstly, welcome to Unreal - It’s a fantastic engine and contrary to popular belief, you don’t need to know everything about it to get started.

I second @NEVQ151 's opinion on starting in blueprints. You can build an entire game in blueprints, and I recommend doing just that to get a handle on how Unreal’s architecture works.

In particular, you’ll want to understand how the Gameplay and Gameplay Framework sides of Unreal work.

By Gameplay, I mean the physical objects and tangible game behaviour works in your game - From Actors, Pawns and Characters, to Actor Components, Behaviour Trees, Animation Blueprints, Widgets, Collision System and all of their relevant capabilities.

By Gameplay Framework, I mean the surrounding architecture of Unreal - Most importantly the GameState, GameMode, PlayerState, GameInstance and Project Settings, but also encompassing the lower level architecture of Unreal such as DataAssets, Curves, Timelines, Interfaces, DataTables, Audio & Media.

Creating an entire (small) game will give you a cursory look at each of the areas Unreal needs you to understand in order to effectively design systems to work with it, instead of against it.
Truly, one of the biggest pit falls you will face is taking prior coding knowledge and falsely assuming that it can be directly applied to Unreal. Most of it can, but Unreal is a large codebase, and you should treat it as such. There are utilities, methods & entire helper function libraries that are there to make your job easier and help you.

As you go along, start looking at what the blueprint code you’re writing and using is actually targeting in the c++ codebase, as everything you see in blueprints has underlying code, and a lot of your job as a programmer in Unreal Engine will be writing systems that expose things to blueprints for designers to easily modify.

Finally, get on the Unreal Slackers discord, and have fun!

2 Likes

Thank you for the response.

Also, Thank you for the response

Sorry if I confuse you, but personally, as a C++ developer, I actually started learning the C++ side of Unreal first. It’s been several years now since then and I still find UE4 C++ clearer and more understandable than Blueprints.

At first I read a few books about UE4 and they all were helpful, but there is a Udemy course that helped me the most when I was starting my adventure with UE4 - “Unreal Engine C++ Developer: Learn C++ and Make Video Games”:

This course covers a lot of ground and it’s easy to understand.
If you want to get started with UE4 - check this course, I highly recommend it!
If I remember correcty, this course was available on https://learn.unrealengine.com/ for free, however, I can’t find it there now…

As for the multiplayer functionality, I completed this course - " Unreal Engine 4 Mastery: Create Multiplayer Games with C++" by Tom Looman:

However, have a look at the first course before getting into the multiplayer one, as I think you should know the basics before diving into networking (multiplayer).

Good luck:)

1 Like