I’m Quite new to Unreal as I’m currently downloading it and porting over a Unity game by rebuilding the entire thing and I must say I have no complete understanding of the capabilities of blueprint and where I should just use C++ code. Could someone please give me a brief overview of the capabilities of blueprint in its current state so I know what I need C++ for and what I need blueprint for to take advantage of both methods of coding, both visual and literal
You can do what ever you want with blueprint, the best thing to do is to make some simple games with blueprint and then with c++ , then you will get a better vision of what it needs to be done with blueprint and what need c++ , in my opinion it’s just a question of preference
Blueprints gets messy fast. They are great for small tasks. But very hard to keep track on big projects or when you have more programmers.
I think best is mix of C++ and blueprints, you prototype in BP. When net gets messy you translte it all to C++.
This way you can have artist/game designer wwork with blueprints then you haev dedicated C++ programmer that translates everything needed to C++.
Best solution for you is to make easiest/smalles functions now in blueprints, when you feel more comfortable with unreal go for C++.
Blueprint advantages may depend on your experience, but even if you are experience in C++ it has some advantages.
Quick prototyping of game systems right in the editor is probably the biggest advantage. For non C++ programmers blueprints are an amazingly intuitive tool, that have enormous power.
There are really only 2 drawbacks to blueprints that I know of.
First, a good deal of the C++ has not yet been exposed to blueprints. This requires plugins in some cases, but in most cases blueprint can handle whatever you throw at it.
Second drawback is that blueprints(like most scripting) is technically up to 10 times slower than C++, but this is only a problem if you have very performance intensive functions executing very often.
Generally, I would say make it in blueprints, see how things work out. Get systems up and running, and then move things to C++ as you see the need.