0
\$\begingroup\$

so I know a little bit about C (read like a few university level textbooks on it, I am not an experienced programmer or anything) and now I would like to learn the ropes of the Unreal engine to fidle with it an make my first 3D game :P (I know it's a huge step easier said than done but I just want to go with it)

My question is about how wise would it be to stuck with what I already know and built upon it?

Will I hit soon some nasty walls while trying to make things work using C should I instead use C++ or will I be fine? In other words does C++ will make my life easier or can do things I wouldn't be able to do with C or that I needed serious puzzlesovling skills and much bigger hardware level knowledge in order to overcome them while using C?

Long story short should I invest more time expanding what I know in C or should I start learning C++ instead which would save me time and bring me the most comfort?

\$\endgroup\$
2
  • \$\begingroup\$ Unreal uses C++, so I'm not sure what the question is. You obviously cannot stick to pure C if writing your own code in UE since it will force you to for an example implement classes and call methods. \$\endgroup\$ – Tyyppi_77 Jan 19 at 10:13
  • \$\begingroup\$ For native game code development, the vast majority of code is written in C++, not pure C. There are certainly adherents to "C is better than C++", but by in large the platforms have all moved to assuming C++11 or later. You should invest in learning C++ if you want to do native game code development. That said, knowing C is a good place to start when learning C++. \$\endgroup\$ – Chuck Walbourn Jan 20 at 20:25
1
\$\begingroup\$

If you want to accomplish anything in Unreal through code, then you have to use some object-oriented features. The way you implement game mechanics is by creating C++ classes which inherit from the standard classes provided by the engine and override virtual methods with your own code. And any of the engine features you want to access in your code are also accessed through objects. So you can not really use Unreal using only C features. You need a basic understanding of classes, objects and inheritance.

That being said, you don't really need to understand that much about the finer intricacies of C++ to make use of Unreal. The engine API handles a lot of the nitty gritty details of the C++ language for you. Also, the Unreal engine got a very powerful visual scripting system (called "Blueprints") which allows you to implement most game mechanics without writing any code at all. There are Unreal Engine games which use visual scripting for everything and do not contain a single line of code. Not that this is always a good idea, but it is certainly possible.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Important to note that knowledge and practice of C is not a hinderance and can only help solidify your understanding of C++, since C code is mostly backwards compatible with C++ and can help you understand things like complex declarations and optimization fundamentals. That being said, C++ simply continues to add functionality lacking in C99, reducing the need for complex macros and things like that. \$\endgroup\$ – Jon Jan 21 at 1:46

Not the answer you're looking for? Browse other questions tagged or ask your own question.