What is the proper way to create a Custom Character in C++?

What I mean by this is, how do I make a character class and properly utilize things like custom player controller, or custom player states, and custom character movement components? When I look at the built in code there is #include that I don’t need like online capabilities and stuff.

My end goal is to have a single player character class. I am currently looking through the built in code and it is very confusing. If any one can help clarify this for me it would be great. Again just to be clear I’m doing this in C++ only and creating Blueprint classes to adjust things like meshes due to it being easier.

Thanks you.

Just an update and maybe some info that can help other people with a similar question I found this.

Gameplay Architecture

It helped clarify a lot of questions I had. If any one has any more links to help with this please share them.

I found what I was looking for in the article listed above. I left the question open to see if anyone else wanted to weigh in or offer some advice. Due to no other inputs I’m marking this as the answer. If anyone has any questions about this topic I would be glad to try and help.