C++ Chapter One

As most newcomers express when starting a new topic “I hope this is the right place to post this topic and if not my apologies”.

** STRAIGHT TO THE POINT **
Basically I’m putting my efforts ahead of my excuses and working toward my goal. I don’t know how long it will take me, I just know I have to take it one day at a time at a pace I where I can retain the information. What I need help with is where do I focus on using code, and should I utilize blueprints in my project(s)? Let me clarify, I’m not asking “where can I be lazy and get away with using BPs”. But where does it make sense in regards to time and quality to do so?

** IN DEPTH OVERVIEW **
I juggled Unity vs Unreal for a good while as I explored the benefits and drawbacks of each and after careful consideration Unreal seems like the clear choice for my intentions. At first I was drawn in by illusions of grandeur “No Coding Required” but I’ve rethought that concept after reading what more seasoned U.R.E. devs thought of such claims. Drilling down to the meat and potatoes, I’ve come to the conclusion that it would benefit me much more in the end to learn C++ and do a proper job of whatever I intend to pursue in terms of game development. If I’m going to dedicate my time into something, might as well do it right.

That being said, I’d like input from other members of the community on my thoughts of how I should proceed on this agonizing/rewarding - love/hate relationship in amateur development. I have dedicated 4 hours daily to learning C++ and i’m using all available resources at my disposal to learn what I can. Repetition is definitely key in retaining all the information I’m learning with no prior programming experience. I am an IT Administrator with 12 years experience, but programming really is the flip side of the coin.

While criticism is expected (i’ll take any encouragement as well), I’d appreciate if it were constructive or at least appeared to be.
Currently, this is my routine:

  1. At work / home I go over each video and rewatch if I don’t retain. I of course follow along in IDE completing the steps.
    https://www.udemy.com/video-course-c…rn/v4/overview

  2. When I get stuck or don’t understand something in C++ I resort to looking for answers online (typically stackoverflow is the answer)

  3. I keep my mobile browser on C++ Language - C++ Tutorials and find myself reading over information on the basics a few times a day

  4. At home I’m completing 2 lessons each evening from https://www.udemy.com/unrealcourse/learn/v4/overview I’m glad I enrolled in the other C++ course on Udemy as the instructor in this series moves a little fast for me in the programming section.

  • TBT

While I can’t definitively answer the question of when to use BP vs. C++ I can tell you that I am largely in the same boat as you. I have been hacking away part-time for the better part of a year in the Unreal engine and many times feel like I am still quite lost since I feel like I’m lacking “formal” training. Other times, things come easy but I really have to pay attention to logic issues (boolean). The best suggestion I have between C++ and BP is to use whichever one offers the best game performance and that is somewhat derived by using the analytics capability of the engine’s built-in performance profiling Performance and Profiling | Unreal Engine Documentation

The HUGE caveat to the suggestion above is to not worry about which to use and when…yet. Stick to learning both BP and C++ and as your project grows and you start refactoring to optimize and organize you can then turn an eye towards performance, which will dictate if BP or C++ is the right one to use for that portion of code. Again, take this with a grain of salt because I am largely a newbie myself.

Lastly, If you are new to C++, in additon to the Udemy tutorial you are following (me too), I suggest this one first (or concurrently if you want variety).
https://www.udemy.com/free-learn-c-tutorial-beginners/learn/v4/overview (pretty sure this one is free)

I hope this helps somewhat but I’d love to hear experienced people weigh in as well because I don’t want to steer you in the wrong direction. :slight_smile:

Welcome to the agony and pain! Software developer of many years here and just now diving into game development.

Get a firm grasp of pointers, classes, inheritance.

I have found some value in Pluralsight classes. There are several that pertain to UE4. This course does a very nice job with starting C++. https://www.pluralsight.com/courses/introduction-ai-navigation-systems-unreal-engine-2205https://www.pluralsight.com/courses/introduction-ai-navigation-systems-unreal-engine-2205https://www.pluralsight.com/courses/introduction-ai-navigation-systems-unreal-engine-2205https://www.pluralsight.com/courses/introduction-ai-navigation-systems-unreal-engine-2205https://app.pluralsight.com/library/courses/cplusplus-11-from-scratch/table-of-contents

I highly recommend Tom Looman’s course for the basics getting around Unreal’s C++ flavor. Create Multiplayer Games with C++: Unreal Engine Mastery | Udemy

Some references:

https://forums.unrealengine.com/development-discussion/engine-source-github/8696-getting-started-engine-source-references?12464-Getting-Started-Engine-Source-References=

I also recommend getting source code control under your belt. I personally use VisualSVN server and then TortoiseSVN as the client. It is fairly straightforward and you can have it all local.

There is GitHub of course if you want to easily share your code with others.

Even with playing around, there is value to checking your code in when you try things. Source code control allows you to compare what you changed but it’s value decreases the less often you check your changes in.