Blueprints and C++

I just looked at the Shooter Game demo made by Epic which is fantastic. Most of the logic is done in code C++ which I am fine with but I have been doing the opposite. Usually I write the variables and classes in code then write logic in blueprints. What is the most professional method?

There’s not really a correct “professional” manner, any team I assume could be different. I might even say most people would prefer the Logic being done in Blueprints with the new debugging feature’s its pretty easy to fix any bugs/errors that happen that way.

Not to confuse traditional with professional, but traditionally large titles have been 90% - 99% code based, but that may of been because the alternative was bulky/slow/not as functional (I’m looking at you Kismet).

Blueprints while being leaps and bounds above Kismet still has it’s limits. From what I’ve gathered from these forums and answerhub is that blueprints come with a bit of a performance hit, some say 10 times slower while others say just slightly.

Personally I am used to the programming side and tend to stick with it. I still use blueprints from time to time, but mainly only for art stuff such as animations.

The trade off is the flatter learning curve for worse performance, because scripting languages are usually generated in the programming language that they are competing with they cannot be faster. This may change in the future and Blueprint has made improvements but currently with such a big performance difference the choice is obvious IF you can get over the steeper learning curve.

All that being said, the biggest counterpoint to my argument would be the game Daylight which according to this article mainly used blueprint and was quite a big success.

Heya,

It is hard to make a general statement or recommendation because so much depends on your team composition / skill set. Our general recommendation is to take a hybrid approach if possible, with larger systems and base classes implemented in C++, but most of the variation and iteration done in the editor via Blueprints, data table assets, etc… This is the approach that we’re taking with our internal game teams, but we also recognize that some games will be made entirely or mostly in Blueprints and don’t want to limit what is possible there either.

From my personal point of view, it almost never makes sense to make a game in Unreal using only C++, if only for the fact that asset references in source code are evil! Even if you have no ‘code’ in your Blueprints, I’d still recommend having data-only subclasses done as Blueprints to wire up asset references, provide a place to tweak values instantly without bouncing the editor, etc…

Cheers,

Thats kind of what I’m doing right now, I just don’t feel like a programmer when I do Blueprints (Its kind of too easy). I guess I just need to adapt with it as making games in 100% code is ineffecient timewise. I have an NPC class which was made in C++ and has some basic variables like health,damage and movement speed but the logic is done in Blueprints. Being taught 100% code in school is really a culture shock per se when it comes to Unreal and Blueprints. Thanks for the input Michael.