I’m trying to “learn” UE4 by dissecting the freebie projects provided by Epic and many forum members but I’m having a hard time trying to get my head around the actual “flow” of the project’s code/blueprint logic.
I find myself jumping from blueprint to blueprint screen and looking at snippets of code/logic implementation but nowhere can I get a “big-picture” view of what’s going on.
My background is from more traditional programming (via a IDE full of text lines of code) and I’m used to seeing where the program “starts” and “ends” and pretty much everything in between - but with UE I can’t help but feel like I’m only ever peering through cracks in the wall and seeing only glimpses of what’s happening.
I find myself wishing there was some kind of “code outliner” that shows the overall flow of the project so I can see what happens where and when and thereby better understand the whole thing instead of only seeing bight-sized chunks seemingly scattered randomly all over the place.
Maybe I’m just not reading it right and it’s not as mysterious as it looks. If so, maybe someone could help me to get a grip on how to “see” the big picture.
I think good starting point is class viewer so you can see class hierarchy, if you want to see core of engine then UEngine, UGameEngine and UEditorEngine are where main engine juice is. If you don’t know framework here you have this docs:
If you worked with bluepritns you should have ide how framework works, blueprints are binded direcly to native (C++) part of the engine so everything there is the same, names are the same just class name of Object starts with “U” and Actor starts with “A” and name is without space
Don’t expect to see simple solution to learning deeps of UE4, it a huge code base and i don’t know anyone who knows everything about UE4, i to this day always discovering new things and i actully use AnwserHub to chalange myself to find solution for others to there problems and learning UE4 in same time, but for my expirance the best way to learn UE4 is to work on specific thing yourself, i so far work with Sound and Slate and by that i learned a lot about them and i can tell a lot about them without looking in to there code. If you want to figure how something works simply go look in to engine source code, each class is in single cpp and h files of same name so in github just search using “filename:NameOfAClass” and lookup the code. API refrence is also very importent you have list of all functions in class so it a good map of engine, use docs search to search specific class or function name and then click API tab in results.
I understand what you’re saying, but my problem is not in learning the individual parts of the framework (The documentation is pretty good at explaining that), it’s about trying to understand how a particular project works from start to finish - as a whole, not each little piece. I suppose I’m thinking of something like a flow-chart or sorts, that gives an overview of the many pieces of code (blueprints) and how they connect and interact with each other as modules. At the moment, I’m having trouble making the connections between the various parts of a project. Perhaps I’m not explaining it very well, but I thank you for your reply which has some good points.
Main is hidden from you. Just like on android, you have different functions that the engine calls at different times.
Please have a look.
As such you have to look at the different call timings for the different events. BeginPlay is called at the very beginning. The construction script is called when you change or spawn a blueprint. Event tick is called every frame. All you have to do is to learn when the different events are called and you should be able to see the flow that matters to you.
If you absolutely want to understand everything from main to finish you have to go through the engine code and read every line and understand every piece of code.
To answer you actual question, no. There are no code outliners aside from the event descriptions.
Hope this helped.