QA on Default Projects

Hi everyone at Unreal Engine team and for those who are reading this post!
I know that Epic Games has a high quality QA team, but I think this team is underestimating some simple projects on Unreal Engine and this can cause a lot of mistakes for new users.

  • Let’s get some examples! The first one is the default Third Person Template:
    On Third Person Template, we have this implementation.
    Essentially, blueprint is a script language with the purpose to be a “programming language for non-programmers”. With this in mind, we need to assume that people who don’t exactly understand how programming languages work, will try to create things here. And the engine, need to teach people to do the right thing.
    There’s absolutely no reason to have this branch here, this can lead new users to understand that the execution pin is not needed. This is just bad coding.

  • Here is another example on Twin Stick Shooter:
    Here we have the Tick event trying to do everything on the game, and based on conditions we decide if we will move or shoot. Yes, it will work! But it’s a totally bad implementation.
    I know the input event will execute on every tick too, but it’s a really elegant and correct way to implement your code, this is the main reason why we have the input events.
    The point is, a new user can just see this and say “Oh, I can create a fight game, put all the possible actions on tick and just create infinite booleans defining what I can do. Vualá!”.
    For me at least, it’s another example of bad coding that can lead new users to learn how to replicate bad coding.

  • Now let’s get one interesting project, Unreal Learning Kit:
    On this project we can start with the name of the project, “UnrealLearningKitGames”.
    Unreal has a limitation of 20 characters on the name of the project or it can cause problems saving new content, but the name of this project has 22 characters. Yes, I know, you can rename the project, but Epic need to assume that new users will just click on “Create”, they are learning, this is the reason why they are using a Learning project.
    If you hit Play, you can even move your camera to right or left, because there’s some inputs that are not declared on Input List
    In the same blueprint, there’s 2 blank functions that are clearly created by a missclick:

So what I’m trying to say is:
This lack of attention with the most simple projects on the engine can be dangerous. New enthusiasts joins the gaming industry everyday, and they will always choose their preferable Engine. For Epic, this choice must be Unreal. But these small mistakes can drive away new users.