I am a expert with blueprints I want to learn c++ what are some tips

Hello everbody in 2023 I set a resolution to learn unreal engine I have successfully learn Unreal. For 2024 I set the resolution to learn c++. To anyone who knows both programming languages do you have any tips for me?

Hello @MoaGameStudios ,

In my opinion, learning C++ while already expert in blueprint is not gonna help really much. Well of course it will gonna help because the flow is kind of the same, but the way to do it is really different. You might find some function that available in blueprint but not in C++ because of different name, or different way to do it.

I recommend you to look for beginner tutorial for C++ or take a beginner UE C++ course to learn it (Even though you already expert at blueprint). Will be different case if you expert on C++ but want to learn blueprint, you might not need a course/tutorial to learn it.

I’m a C++ user that also can use blueprint but I’m learning C++ first before blueprint so I don’t know if these tips will help really much or not. Here is some tips that maybe can be useful in the future if you use C++ from blueprint:

  1. IF you want to search for a function in C++ but you can’t found it the step, hover the blueprint node for looking the class name.
    Example:
    I want to call GetPlayerCharacter node in C++ but I don’t know how.
    image
    As you can see above, the tooltips said Target is Gameplay Statics. that mean you can find the function inside GameplayStatics class. Knowing the class name, will be a really HUGE help to know how to do it.

  2. Befriend with log.
    As you are using blueprint, there is a chance that you haven’t use log before (Its different with print string node). In blueprint if you want to print something you just need to use PrintString node right, but in C++, logging is shorter and easier than doing PrintString.

if (GEngine)
{
	GEngine->AddOnScreenDebugMessage(0, 2.f, FColor::Blue, FString("Hello This is my print string"));
}

UE_LOG(LogTemp, Warning, TEXT("Hello This is my log"));

Just looking at the code above, I believe you also feel that using log is simpler. Every UE_LOG, will be printed on your Output Log tab, you can found it in Window > Developer Tools > Output Log.

  1. Use timer instead of Delay
    The reason is also similarly with my tips before. Using timer is easier instead of delay. And timer is more useful since you can loop it.

  2. Read about UE Coding Standard
    Coding Standard | Unreal Engine 4.27 Documentation
    This will be helpful to know.

  3. Beware of Fake Errors
    In the future, if you are implementing something and using Visual Studio (I don’t know if others), beware of fake errors. The real errors is in your visual studio output.

  4. Try to implement your simple blueprint creation with C++
    Maybe try to create a simple actor with some simple functionality in blueprint, after then try to do the same with C++. This is pretty good way to learn it I think, you can see what to do from your own blueprint script, and try to figure it how to do it in C++.

Most important, never give up learning it. Sometime C++ can be really confusing to learn, it only takes time. After you know how things work, it will be fun. Good luck.

1 Like

Thank you @ImAGoodSpoon1 for your detailed response to my question I will be taking your advice onboard

1 Like

To emphasize and supplement @ImAGoodSpoon1’s recommendation, I would definitely start with basic c++ learning, excluding UE as a whole. Why?

Because if you learn c++ from UE c++ tutorials, you’ll end up copy-pasting code that you fundamentally don’t understand.

Learn the very basics of the c++ in a totally separate environment. Don’t have to overthink it, create a simple calculator console application, for example. By doing these mini-projects, you will learn the basic syntax (how to declare a variable, what const means, how the control flow looks like, etc.) and you’ll get a basic understanding about the code flow itself and some c++ nuances like “what is the difference between a header and a cpp file”.

By doing so, you’ll be able to layer on top of this knowledge. You’ll be learning the UE aspect faster and you’ll be able to translate your blueprint code into c++.

Of course this is just my point of view.

You can also double click the node and it will take you to the source code that made the node.