How to research shooter sample project?

I want to make a multiplayer first person shooter game based on shooter sample project.After watching the official youtube tutorial, I now understand the basic use of ue4 editor and blueprint.Now I am going to research shooter sample project,I want to have a good understanding of the project framework,then I can redevelopment the fps project.But actually I don’t know how to research it,recently I am reading AShooterCharacter.h and AShooterCharacter.cpp,I read every line of the code,if I don’t know one specific function,I will go to the definition,to see actually how it works,but when I go to the function definition,I will usually found several unknown function,so,such and such,to understand one function,I must dive into another dozens of functions!I wonder whether it’s the right method to research a project,please give me some suggestions,thanks advance!

I remember doing the same thing with the shooter game, but I made a lot more progress by analysing the sample projects that you can launch from the editor, particularly the Top Down and First Person games.
These may make better starting projects for reading because they are smaller and simply barebones.

At the moment Epic Games hasn’t made a lot of learning material available for people hoping to use UE4 in C++.
I think a lot of that is because once you get your hands dirty with it and get the basics, everything seems very simple, making it hard to remember what it’s like to not know what the GameMode is even really supposed to do.
Also the focus is still on using Blueprints, for which video tutorials abound.

But do not despair, the community has posted at least one fantastic tutorial!
Before diving back into the Shooter Game, try going through this Survival Game Tutorial A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums.
It is the best C++ introductory material I have seen.

After going through the survival game, I’d suggest experimenting with the First Person Shooter C++ Template and then the Top Down C++ Template.

A lot of your confusion will stem from the relationships between Blueprints and C++.
For now, it is practically impossible to avoid Blueprints when working with animations and some other elements.
Don’t shy away from Blueprints and check out the Blueprint equivalents for some of the starter templates.

At some point soon, things will start to click! :slight_smile:
I’m an experienced C++ programmer and have previously developed games on my own, but it took me about 15 hours or so to feel like I was getting back up to speed on things.
I think learning the Unreal Engine will take some time no matter your background.

That’s how I reverse engineer an API, project, or framework: by looking at example code.

In the case of the shooter project, I learned the most when I used the some of the shooter code as a base and modified it for my own purpose.

My problem with C++ tutorials, is that they are great if you stay on the rails of the tutorial, but if you ever so slightly stray outside of the bounds of the tutorial, you can find yourself in deep **** (welcome to c++).

If you are looking for a good overview and code flow, use doxygen to generate call graphs and superficial documentation (it extracts out the comments) and what not (I found this to be extremely helpful).

Otherwise you are left with the method you originally mentioned… It takes forever, but works.

Thanks for your advice about doxygen,actually I’ve never heard about that but I think it’s a good way to make codes more clear.Would you please expand it,I don’t understand hot to do that,is it a tool in Visual Studio?

Thanks for your patient reply,I’m going to follow your advice.