Is anyone developing a serious project with UE4?

I am sorry to ask this, (even I’ll get a bad karma) but I can’t believe that anyone is developing a serious game project with UE4 environment. I mean really developing a commercial game, and not playing around with mickey mouse examples.

Why I am asking this? I have more than 20 years experience in even very complex C++ projects. I have implemented already a hell of a lot stuff in C++ containing a wide field of topics.

Now, in my freetime I had the stupid idea to get into game programming. I started with beginners tutorial of UE4. The first thing I was facing, some of the tutorial (E.G. BUG HowTo_UMG edit: solved) don’t work even doing exactly the steps as described. Maybe this is a particular case… But currently I did’t find a way how to use UE4 widgets within C++ code. And after spending hours to get into this topic, I am asking myself if it is pointless to learn UE4, because it’s buggy like hell, and I will run out of lifetime before I have found all the required information, resulting in never get something done for a game.

OK, there is a lot of stuff like AnswerHuB, Wiki, Documentation, but if I dig into how to use a particular feature f.e. Composite Fonts I didn’t find any description how to use it in C++, nowhere to find a little code example. I had to tear every answer out of the AnswerHub (See Question1). This is so time consuming and frustrating, especially in the case you never get an answer. (See Bug2, Bug3, Question2)

From my point of view all the epic pages are only marketing show-off of UE4 features, but not helpfull for game development or even for learning the advanced usage of the features. I think all the stuff is only to make a show for probably Unity. ATM I feel EPIC Games not really wants people understanding UE4, easly. Probably they just dramatically lag in documentation skills.

I am surprised that I havn’t seen any UML diagram describing UE4 features, no class diagram, no sequence diagram, no state machine diagram, and don’t forget no signifcant code examples. Sorry, but I think only Chuck Norris is able to understand how to use UE4. BTW. Chuck Norris is the only human who has achived to completely count twice from minus infinite to plus infinite.

Please let me know what is your point of view, and why you think it is worth to stick with UE4.

Yes it is being used, link to short games list below

it depends, the major draw card for me for UE4 is the blueprints system and how simple it is to make something that just works, even in a multiplayer environment.

Is the documentation outdated? Yes
Do they rename functions? Yes
Can it be annoying? Yes
But in terms of out of the box usability, i (personally) find UE4 simpler than Unity.

Ok, probably it is intented to use the blueprint system. I think this is a good approach if you lag in programming skills, your game is quite small, and you are a few programmers. But I can’t imagine, the game project not getting lost when it reaches a serious size, due to binary assets not being able to be merged by source control. There is no chance to satisfy quality requirements.

You can use both C++ and Blueprints combined if required, blueprints aren’t a full set of the c++ features.

if you want to do anything non-standard it’ll need to be done in code as you have access to the full engine source code on github.

re: source control, its not an issue for any size project, some massive games are being made in UE4 with large teams.


Having spent 20 years working on large projects in the games industry I can tell you unreal is a step ahead of the norm in th exact areas you are complaining about!

The field is generally fast paced with the change in code far outstripping attempts to document. Small teams have huge amounts to do because we’re still in our infancy as an industry.

Having switched to using unreal a year ago I can say that it gets easier, that you adopt a huge number of base level systems that will get you going and you probably won’t realize the amount of work saved until you try and write something from scratch outside unreal. That being said you may be better suited to development in unity or one of the other off the shelf engines.

Unreal is complicated and has warts and is constantly evolving to try and fix some of those warts. However it is feature rich and once you settle into using blueprints, actors, materials etc you will become less frustrated.

Good luck!

Bear in mind that UMG is also a very new system and will suffer more from the things you mention.

As for Blueprints I wish they were mergable - it seems a text (, xml blah blah) version should be easy (ha) to implement for these purposes. For the most part I keep mine dumb, most logic goes in C++ with blueprints choosing assets, playing animations and spawning effects. I never used unreal script as UDK is before my time but could see a middle ground in-between the BP and C++ as very useful, scripted blueprint nodes.

OK, I got your point. Probably I am pampered by stable and well designed APIs of components, and rich professional documentations in the past. The game development industry seems to be a way more challenging. Thats the lesson I have learned the past view weeks. Why I have digged into UE4 is, because it offers a C++ API for free, compared to Unity. I think the unreal engine itself is one of the best grafik engines around. And I even loved it to play the unreal games in the late '90.

I think the Blueprints are very usefull to prototype ideas to have a quick result for evaluation, and to see how things affects the gameplay. That may boost portotype development enormously. Thats not questionable from my side.

For the prototypes that have been approved I would favour to turn them into C++ implementation to be safe on the long term. I would keep BP only for artwork and polish purposes, but never for game core components.

Because today, the BP are monlithic binaries not being mergable and not being viewable in a compare tool. They are very difficult to maintain. How to find the change causing the bug? And how to debug them? The BP binaries draws you back into the stone age of maintainability. On the long term, this will break the neck of a project, I am sure. But if UE4 will turn the BP persistence somehow into a readable script, the BP will reach a more professional level and being a way more applicable even on the long term for serious projects.

Today, from my point of view, the BP concept is welcome for prototyping, for skript kiddies fun project don’t caring about maintenance, and for artwork and game polish purposes. And, because the script kiddies from today may be the game developer of tomorrow, it is required to offer BP concepts to survive the market competition with other game engines like Unity. So that even is not questionable from my side. :slight_smile:

At MrGrr:
Yes, google has the license to print money, they are a kind of a sect of aliens, living in their own created reality. It’s pointless to orientate your needs on that aliens, if you are normal folk. I guess a google game developer has 2 UE4 supporter on each finger to guide him for pressing the right key and buttons.

The short answer is that Unreal is lacking for mid-range developpers. The real beginners will enjoy it because of the graphical tools and Blueprint, the samples, etc. The large, experienced companies will enjoy it because of C++ source code availability, decent licensing terms, overall performance and hardware support, etc.

But if you’re a serious developer with a small team, Unreal can be very nasty for C++ developers. It is lacking in some ways :

  • Documentation. As my colleague was just pointing out, try finding the documentation for FMath::Cos for a second. Are you wondering if math functions in UE use radian or degree ? Well, that’s too bad, it won’t ever be stated in the function documentation, when there is one. The C++ documentation is basically your IDE’s search tool.
  • C++ UI development. Basically the focus is going to UMG and Blueprint. Two of my questions here have been unanswered for weeks and it looks like the answer will be “patch the engine” - and I’m just asking how to do tooltips, or how to properly skin a list item. Hardly the stuff of nightmares. Stuff like hiding the cursor can break your game.
  • Binary assets everywhere, even for storing plaintext data in Data Assets.
  • The backward compatibility is very bad. Answers on this forum are often useless because the suggestion is simply not possible anymore. Menus have changed, the API have changed, the technology has changed and over the course of mere months, stuff can appear and disappear. Major releases break projects at least with the API, sometimes with the assets or the build process.

Generally speaking, UE4 is an incredible tool, especially on the art end. The material editor is still rad, the library is decent, it’s very usable and I think more powerful all-around than Unity. (Edit : I also have to note that UDK was way worse than that. Epic have made some great progress with UE4.)

But some effort has to be made. Less Marketplace assets and shiny features, more documentation, bug-fixing and support please.

My brother an I are developing a serious game in UE4. My brother is the programmer, and hes being very transparent in what hes doing if you want to check out his videos on coding in ue4. The link is in my signature for the WIP thread.

Edit: woops no sig here :slight_smile:

Thanks for your reply. I agree with your explanation. The productivity of normal mid-range developers gets choked on the vacuum of UE4 information.

Looks really nice, the ships remind me of the star wars cruisers

WOW! I had a look into your videos. Thats impressive work been done on the game so far.

Having prototyped initial gameplay in blueprints I quickly found logic getting out of hand and switched over to 99% cpp. Recently though I’ve started adding blueprints back in, with minimal critical logic but huge ability to override base functionality and add the polish mentioned above. Exposing variable and events to blueprints is trivial and allows for some quick development and easy integration of nice curve assets, animations. Material functions, splines edited in 3d in the editor etc. There are lots of specific details that it’s just nicer to keep out of cpp and blueprint does a great job keeping your code cleaner and more to the point.

It also opens up development to a bunch of people who aren’t cpp developers. Animators and designers get more freedom to be creative.

On this last aspect it’s worth mentioning that while it’s mainly true that blueprints only expose a subset of the available cpp functionality It seems that the animation system seems to force you into using blueprints more heavily.

Lastly they are also easy to debug (4.8 seems a big improvement) with nice per instance debugging that takes serious work to achieve in cpp and an awesome visualization of which branches are being hit before you even lay a breakpoint.

Apologies for fat fingered phone typing!

I think forum would be more suitable for this question, because it’s way too open.

Yes, you are right!

I can’t believe that anyone is developing a serious game project with UE4 environment.