No announcement yet.

What is c++ used for?

  • Filter
  • Time
  • Show
Clear All
new posts

    What is c++ used for?


    I don't know how to code c++ (I'm planning to learn, that's why I'm asking). So if blueprints can pretty much do everything why do developers use c++, besides the performance improvement? I watched this video, and it looked like blueprints could do something in like 30 seconds, while, to do the same thing, c++ took about 5 minutes to do it. I'm sorry if I'm being stupid.

    Main reason (at least for me), is that when projects get big, blueprints will get very messy and hard to follow. Others will not be able to follow along as easily as you can. Blueprints is good for prototyping or if you're doing something simple. I made an online wave-shooter game using only blueprints before. I came back to the project a month later and I can hardly follow it. I'm using C++ in UE4 now and its so much better. If you are a programmer, you should be using C++. The only time I use blueprints now is for animation blueprints and UMG (and even then, only the design part).


      I'd say the main reason to use C++ is for functionality not exposed to BP from the engine. Example: You need to load game-play data at runtime. BP lets you work with data loaded at design time but that's it afaik. If you want to work from csv, json, sql at runtime, then you must use C++ (or find a plugin). Another limitation, involves tweaking BP when its missing something. Example: Split-screen. BP offers this, but doesn't provide customization, like toggling between horizontal / vertical split-screen gameplay at runtime.

      As regards problems with BP readability / layout... In reality this applies to conventional script / text based coding too. Its completely possible to write complex and clean BP, its just that it itself is its own skill... Working visually has some advantages too, as you can color-code and shape structure, making BP-code more memorable / readable / recallable than conventional scripting / text code (even after long time-gaps). So conclusion? ... It all boils down to personal preference...

      What's missing in UE4 arguably, is the ability to combine BP and some kind of scripting, similar to how the 'math expression' node works. TheJamsh had a thread once about working with BP in text-form. To add to that, in the previous engine, UDK-Kismet had the ability to tweak parts of the underlying engine etc.

      In short, If you opt for BP, it won't save you learning C++ in the long run, as most projects require both BP and C++, and the latter also means finding an outside editor to your liking and an intellisense solution etc. That's why you see a lot of Unity vs UE4 debates on here. In Unity you can often stick with just one language (C# / JS etc) and use the shipped editor / compiler.

      Hopefully Epic continues expanding BP (or adds scripting in some form), so that C++ becomes optional for more game types and projects... For now though, if you need something that's not in BP, you must resort to C++ or find a free / paid plugin etc...
      Last edited by UnrealEnterprise; 11-19-2017, 12:57 AM.
      What are the BEST Unreal Tutorials / Docs? There are none tbh... Here's why
      Instead its better to just take projects apart (see the free 'creators' listed here)




          It's possible to create threading system for BP then the results of that test would be as performant as C++ when running that test from the separate thread.

          But, of course, to create such thread system for BP you need to use C++.
          | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |