I am a 3rd-year computer engineering student. I have knowledge regarding C++, Polymorphism, etc., but I do not have any experience. I am trying to learn the engine and how it works, but it looks super complicated to me. Where should I do to learn? How did your learning process start?
It is super complicated, particularly as a beginner. I started by going through a few tutorials, reading some of the doc pages, and trying basic stuff. I’m still a beginner, and it’s a complex application. Learning CryEngine from the start is way easier, but I had a problem with the visuals I couldn’t solve which is probably due to a computer limitation in the laptop I use. What is polymorphism? There’s a ton of caveats in Unreal Engine features and how things are to be properly set up. So, check into the details while learning, which could be accessible in the docs, in video tutorials on youtube, and/or in the forums / AnswerHub. There’s tutorials in the engine, which last I went through those, were somewhat outdated…but still have some value in learning basics and using the interface. Another thing to research is the engine rendering pipeline. It’s crucial once getting a bit deeper into learning how to do things in the engine, and that is not far into the basics either (such as lighting, materials, and the different settings / what they mean). One more is think of the concepts involved in rendering and graphics, not only programming. There’s math required in creating materials, and there’s math to do in building meshes (3D models) and developing the lighting for the scene. It’s not always calculations done on a calculator, but using intuition and the concepts / principles in geometry and other math subjects to understand how things function in Unreal Engine. It would be with any game engine, or rendering program…so try not to overlook the importance of it while learning.
Imagine you were a music student. Imagine you were practicing basic melodies and harmonies. And then imagine someone gave you the manuscript for Messiaen’s Turangalîla-Symphonie.
You would have NO IDEA where to start to make sense of it. You might recognize the individual notes on the paper, but the way they all go together isn’t at all clear or obvious, because you’re missing a bunch of preceding context.
The right way to do this for some people is to just dive in, and stay lost for months, until individual threads start making sense, and keep hacking at it until more and more becomes clear, until, after a year or two, you know your way and what everything means.
Other people don’t learn that way. Instead, it might be better to take a more incremental approach. Start with smaller programs and figure out how they work. Doing so will help you learn each individual area, and once you know a fair bit about physics, graphics, networking, memory management, component systems, and so on – then, try figuring out how Unreal puts all of those pieces together.
You can start with a base library, like SDL, and build a small pixel game. You can start with a task-specific library, like ODE for physics, or ENet for networking, and use it to learn it, and visualize whatever’s going on using the simplest tools you can find. You can read source and fix bugs in existing games, stepping through them in the debugger. There are many ways to get there, as long as you’re able to put in the time, but you have to put in the time in a way that works for your particular learning style! That may or may not include tackling the Unreal Engine at your current stage of growth.