Question from Unity c# newbie about UE4 learning process

I’m migrating from Unity c# to UE4 C++ aand I’ve faced a problem - I don’t understand how stuff works. Just can’t get it. It was pretty transparent in Unity, but in UE I don’t understand why stuff behave that way, why PSIP is everywhere and etc.
Amount of information just overwhelming and it’s a bit hard to learn c++ and UE stuff at the same time and I don’t know how to manage UE learning process :frowning: I’m doing c++ tutorials from wiki and analyzing content examples and I know how to implement different stuff and use it for my purposes, but I FEEL lack of understanding of this system and it makes me sad :frowning:
I want to be capable of creating game from blank project with understanding what exactly I’m doing and what should be my next step. I’m asking for advice - how to learn all this stuff ASAP?

  1. Set some time aside to learn core C++ concepts without focusing on UE4 at this point. Once you understand most of the fundamentals, it’ll be easier to jump into UE4.

  2. Keep the API documentation right by your side when learning. If you ever need to understand what something is doing or what you can do with it, look it up in the API. If you open up the .chm file in the documentation folders of your source, you’ll also get a local copy of the API that will show source along with the function outlines.

The API will also show you how everything is connected and what classes inherit from other classes, so just reading through it will give you a lot of insight into how to work.

  1. This community (and others) are here for reasons like this. If you’re struggling to understand some basic stuff, make a thread requesting help, create a question on the answerhub or join the #unrealengine IRC channel on freenode.net and ask your question there.

There’s no real Get Rich Quick™ way of doing it, you just have to pick it up over time by becoming familiar with the API and the engine.

If you worked at a studio they would no doubt start you off with a task in a specific system within the engine. Everyone knows you don’t become a master overnight. But you can become a master of a particular area/system.

Start off with an example project/template. Branch off from there. Just slowly branch out like a tree, expanding into the other systems

Have you tried going from C# to Blueprint? It makes more sense when you look at a blueprint from a C# background in my opinion.

You shouldn’t try to understand everything up front. Instead, start off with a simple task and build on it. You’ll learn the things you need to learn as you go. I still don’t know what PCIP or whatever it is does…and I don’t care unless there comes a time where I need to use it.

Also, I found that copying the Tutorials made me more confused. Most of that confusion came because of C++ , not because of the API. I had to reacquaint myself with C++ and converting pieces of my project over from Unity helped me learn the API.

The way you do something in C#/Unity is not much different from the way you do things in UE4…the difference is C++ and API. Learning the C++ side even helped me understand blueprints better.

There’s also some information on the Wiki about Unity/UE4 differences - Here

I myself am well accustomed to C++, but found some of the ways Unreal does simple things a lot more complicated then in Unity/C#. However, there are plenty of things you will find easier to learn when doing blueprints (more people seem to be using them, therefore more info, and they are also built for the UE4 engine), so I would recommend starting to get basic gameplay and such with blueprints before using C++ to do some of the more complex tasks.