Understanding Key Differences Between C++ & Blueprint (UE v5.1.0)

A while ago, I created a project in UE 4, in Blueprint Mode, following an online tutorial. One thing that the tutorial I watched, and many other online tutorials, mentioned was the fact that, at a certain point, the “right” thing to do would be to convert the Blueprint “code” to C++.

Now that UE 5 is here, I wanted to revisit that project, and hopefully be able to write that code in C++. I have some C++ knowledge, however what I do not really understand is how exactly the Blueprint and C++ methods of adding functionality to my levels and actors works;

For instance, I’m a bit confused on how to “create” an Actor or Pawn, with the C++ setup. If I right-click to create a new Asset, the only option that stands out to me is “Blueprint Class”:

Selecting that will then prompt me with the subsequent Class selections, where I can select Pawn or Actor, however there is no option for a “C++ Class”, or something along the lines of that.

Where do I go to actually create a C++ Class? Is that even possible to do, or am I misunderstanding how the C++ way of creating these things works?

Thanks for reading my post, any guidance is appreciated.

Hi Runsva2001,

Check the “Tools” menu at the top, there should be an option there to create a c++ class:

image

You will need Visual Studio Installed if not already…

1 Like

Thank you for your reply;

That was a pretty straightforward answer, thanks.

Would you reccomend downloading & installing the Visual Studio Integration Plug-In? My VS Instance says that Plug-In is missing, but I’d need to downgrade my UE instance down to v5.0.0 in order to install it… Is it neccessary?

Also, how does one give assign a Model to an Actor or Pawn in C++ mode? Usually, in the Blueprint mode, there is a dedicated viewport for the Model field, where you can add it and modify it accordingly. Is there such a thing in C++ mode as well?

I don’t use that plugin - just Visual Studio.

When you add a mesh to a c++ you define it in the classes Header File (.h).

If you create a FirstPerson or ThirdPerson template (just for looking at) and specify c++ as the type - it creates a very nicely laid out sample of how to create models from c++ and how to use them…

Thank you for your reply;

So when I load the First Person Template, and I load the C++ class for the Character, I see that there is a paramter assignment for a Mesh Property in the Header file:
image

I’m just wondering, where exactly here is the specific model file name specified? How does the interpreter/compiler here know what model to access, as I don’t see an explicit filename listed anywhere?

That bit is in the Blueprint Editor - you set the mesh there in the same way as you do if you’d added the component from Blueprint… (That makes it easy to change it at any time too)