Blueprinting or Source Code


I am a computer science student with a great amount of experience in programming and project development. I am not new to game dev, but I am new to unreal. When I am looking to make a very detailed/complex and beautiful looking game, would it be better for me to work in source code or blueprint. Also, does it even matter? I just feel like you can get more in depth with source code development, or at least you should be able to. What do you guys think?


If you know C++, I recommend using C++ for final algorithms because C++ is faster and more powerful than Blueprints. But in prototype stage, Blueprint is the best solution because iterations are faster.

Don’t forget the new BP->C++ Converter :wink:

But yeah, if you’re experienced in C++, go for it. Blueprint is super useful for quick prototyping.

It’s already been said here but, you used a term that I’m not sure was addressed, there’s a 3rd option.

You compared Blueprints to Source code, but that’s not the right comparison.

To build the engine from source code, you download it from git, build and update the engine code yourself. Otherwise, you use the launcher and let it install the engine for you, you then only modify your project content.

If you need core features that the engine doesn’t provide, make changes to the engine, or want the latest features before they make it to the launcher, then download and build the source from github. Otherwise, if you don’t want to deal with updating the engine code yourself just get it from the launcher.

In either case, from source, or the launcher you then have the choice of either Blueprints alone for gameplay features or Blueprints and C++. I guess you could, but it doesn’t make too much since to have no Blueprints at all. That C++ is not engine source though, it’s gameplay code.

You can always add C++ to a project that is started from Blueprints. There will be some things that just require C++, and it’s recommended that code that is called every tick is put in C++. A class can have some of your functions in C++, then on a child Blueprint class can have other functions that are just in Blueprints. They can call each other, C++ calling Blueprint events and Blueprints can implement C++ function declarations, or override them. It is set up through the UFUNCTION macro declarations.

Blueprints make working with Assets much easier. It’s fairly straight forward to migrate Blueprint scripts into C++. I do it in pieces. First I decompose the blueprint messy prototype into small Blueprint functions, I then make the skeleton in C++ that calls the functions in Blueprints, testing that it still works. I then replace the Blueprint functions with C++ functions one by one ensuring the whole time that the thing is still working.

Maybe longer answer than you wanted, but, think it may be helpful as I see this type of question a lot.

I would say both / and – You will find using Blueprint is easier for artists and other content creators…So, you could write C++ and expose things with BP. And, as others have mentioned, C++ is a lot faster, but Blueprint is easier to do in other types of activities. I would learn both… Wait, you already know C++, then… I would learn BP! <grins>