What is the best way to begin learning Unreal?

So first of all, I am literally completely new to the idea of making a game or coding in the slightest. Through my recent research into ue4 I’ve decided to undergo the laborious process of learning to make my own game, and am excited since I’m basicly a ■■■■■■■■■ that loves crazy challenges like this haha.

So to my understanding so far, c++ is a coding language, and blueprints is a simplified and/or limited visual coding language that basicly writes the hard code for you.

It is also to my understanding that blueprints is considered newbie and unfit for achieving great new innovative games… is this true?

With the fact that I have literally zero knowledge in coding, what is the best way to get from where I am at, to being able to create a open world multiplayer combat game with potential of holding up to 100 people per server?

Is my best bet to skip learning blueprints, and to learn c++ somehow first? And if so, how do you suggest I beggin this journey?

Or would I be better off learning blueprints and unreal engine confidently and use that as a stepping stone to learning c++?

Another thing I’m fuzzy about, is if I start a game with all blueprint assets, once i learn the c++ coding can i incorporate that into the game? Or is it like, a blueprint project is a blueprint project exclusively and and c++ project is a c++ project exclusively?

Also please excuse my ignorance of how to use these forums as I am new to them as well, so sorry if this is in the wrong place or a repeat post or anything, and thank you to all who take the time to respond!

That’s going to take you years of experience until you understand how complex that is…

If that doesn’t bother you and you still want to keep going, then stick to Blueprints for a few months and work on tiny small gamejam projects.
While using Blueprints, learn to think logically and how to solve logical problems. Learn outside Unreal Engine all you can learn about “programming logic”.

Read math books for programmers.

Once you’ve built a few tiny mini-games and are comfortable with solving logical problems and feel familiar with object-oriented programming, start portion to C++ pieces of code you have created in Blueprints to understand how C++ side works.

That can take you a few years, but will help you become proficient faster on the long run.

I know this is disheartening to say, but it’s best if you drop that ambitious MP project for now and start developing small games until you learn the basics. Which commands are used for movement, character pawns and the sort. After you get acquainted with the engine, start going for bigger projects one step at a time. It’s a pretty cookie cutter answer, but it’s always being re-iterated for a reason. Take that from someone who’s learnt his lesson; Undertaking such a project requires too many skills for a single person to have in an “approved” state.

  1. You’ll need to be able to craft either sprites for your 2D games or 3D models for your 3D games. Such models are either outsourced to a 3rd party for $, or you can create some using Blender, Maya, or any 3D modelling project. And it doesn’t stop there, 3D modeling is an art of its own, you will need to extrude the model, make a high/low poly of said model, texture the model and then rig & bake it to have it ready. All of those skills are separate and truly is a massive undertaking on their own.

  2. You’ll need to have experience with SFX for your games, as good SFX makes a polished game. You can either outsource these (very expensive) or you can create your own, which is also an art of its own with its own nuisances. Arguably one of the more difficult aspects of game dev. You can find some free source SFX, but 99% of them are average and cheap-sounding, merely to be used on prototyping.

  3. You’ll need advanced networking skills. How is your open world going to be connected? How will you authorize each player and how many maps do you consider on integrating? If there’s more than 1 map, you’ll need to find a solution on how Server A will communicate with Server B to pass your authentication token so you can get re-authenticated by the new server upon entering a new zone. You’ll need to write your own code on how the Server will communicate with your external database for your player’s needs like inventory, stats, progress and so on. If you are considering adding other features like a party feature, how are you going to have it work with instance dungeons (if there are any)? This is just scratching the surface.

  4. You’ll need advanced knowledge on enemy AI and how it reacts to certain inputs. This is not a mere “monster saw you, it chases and attacks you”, you need to have a scripted behaviour for each and every one of your inputs. If you run away, you need to have scripted behaviours, if a party member is low on HP, you may want the monster to prioritize him instead of someone else. You also need to add “patrol” AI if you wish your entities to be at least a bit realistic.

  5. You’ll need to have advanced skills in problem solving and not just “hey I solved that hard puzzle game in 5th grade” kind of skills. Certain skills that can only be solved by using a specific method in said code or being creative with the simple things you already understand. For example, things we take for granted like in a 2D game, when the player meet’s the level’s end, you need the camera to stop following the player so as to not reach outside of the boundaries of the map. It’s a simple task and most programmers here will find it a breeze, but for someone just starting out, such a problem can easily take most of your day trying to solve it. Multiply this by 2.000 such problems and you suddenly have 2000 days worth of problem solving.

Both blueprints and C++ can be used in the same project without any problem, most people advise just sticking to BP until you face a problem where you can’t solve without using C++.

Not trying to deter you from game dev, but you need to understand that the scope of the game you’re asking, especially since you’re new and you don’t have a team to back you up, is enormous. There will be times where you will bang your head to the wall and then realize that you just wasted 100 hours trying to implement a feature, only to scrap it and just move on without accomplishing anything.

If you read all this and you want to continue undertaking such a project, then by all means do so. It takes huge will power and man power to drive such a project, but understandably so does passion.

As someone who wants to get right into the multiplayer code scene I have some advice:
Stick to “Character” blueprints to handle all your simple, client based needs. It includes replicated movement by default (i.e. when your clients move, their movement is broadcasted over the network).
Your code, by default, will NOT be replicated over the network. When you create a custom event, you can replicate the event by selecting it and looking in its details panel. There will be a “Replicates” option that is defaulted to “Not Replicated”. When making a line of code to be replicated, the typical set up is to make 2 extra custom events along the line so it looks like:

(note: do not pay any attention to the term “Playback BP”, it’s just the name of my blueprint that I happened to build this code in)

This only really works for simple one-off events. When you need to replicate something more complicated… well welcome to coding.

When you’re ready to playtest with server and clients just set the number of players to anything over 1 (player 1 will take the role of server):

Be sure to browse through the Unreal Engine Youtube…mentKit/videos for all your blueprint needs (and everything else) BUT I CANNOT recommend the replication live training tutorial video present there as it contains generally bad information.
Also look here Unreal Online Learning - Unreal Engine but it seems to be down for maintenance,
and here…Neukirchen.pdf

As opposed to what I’ve seen a lot of the veterans say, it took me 6 months to feel well acquainted with all things blueprints, then another 6 months to feel like I can build literally anything I need. That said, I have been pushing around 8 hours a day in Unreal.

Yes, when you have learned to replicate things and call RPC’s that is only the beginning of networking. It takes years of experience to make a networked feature that works in all scenarios and not just in a theoretical scenario. Welcome to race conditions, out of order events, dropped events etc.

Wow I didn’t expect such quick quality replies, thank you all very much to all of you for taking the time to answer my questions.

Bruno, that seems like some awesome practical advice and along the lines of what I assumed I should do, it’s great to have validation to know I’m not wasting my time.

Xgd lig, I appreciate you covering all the extra stuff I’ll need to consider as well, and will respond to your separate points in order.

  1. I have a little experience in using blender, but actually my best friend is going to school for graphic design and is about to take a course where he has to learn blender, so I’m hoping that will be a viable option for me.

2)I actually am pretty experienced in sound design and sound engineereng, as this has been my passion for a while. I am more experienced with making crazy dubstep and other wierd stuff, but I’m pretty sure a large portion of the knowledge will be transferable to game sfx.

  1. Yea this is the part that I wasnt sure how viable it would be for one dude to be able to achieve, as I really have no clue as to what goes into this at the moment. That is why I specifically asked about the more extreem side of it, (large open map with 100 players).

  2. this part I was also curious how viable it is for one man to achieve. My main goals tend to be based on pvp combat, so I really dont need as much AI as a lot of games, probably mostly stuff like general wildlife that mostly fleas and such.

  3. this is actually the stuff that excites me about game dev :). Like that specific example of the camera movement, this is the type of stuff that gives me warm fuzzy feelings after hours or days of trying to do. I dont often feel achieved when I accomplish something unless it was really hard, so I’m hoping I can handle it Haha

And awesome, I’m glad that blueprints and c++ can be integrated together, and from what bruno said, it even sounds like I can turn the blueprint into c++ code to understand how it was written? That is SICK haha.

I appreciate the apllicable knowledge toward what I need to know, I will definently bounce back and forth to that post while learning untill I understand it enough to put it into practice.

Also it Is great to hear the timeframes it took you to learn to be confident to do all you need to do, that is fantastic. I have some slight medical problems that keep me pretty physically exhausted, so I tend to put crazy amounts of hours into whatever my current hobby is. The last 3 days I have spent trying to learn blueprints basics from the time I wake up to the time I fall asleep, so I tend to put in like 8-16 hour days into stuff like this

I’ll redefine my end goal a little more to help clarify the extent of what I would need to learn to achieve this type of thing.

I want to make an open world game with multiplayer servers. Specifically one that focuses primarily on pvp, so there will be little to no need for enemy AI (kind of like a battle royal game).

I want to combine this with the building and raiding aspects of a game like Ark Survival evolved or rust.

I have not played rust, and it definitely isnt the exact type of combat I’m going for, but I think it is probably a good example of the type of thing I’d want to achieve. Slowly adding in more building and items for people to make and play with in a sandbox environment