A friend and I are both completely new to programming, but we want to learn coding so we can eventually make our own games. After looking into different options, we're stuck between C# and C++. Which language would be the better starting point for beginners, and what game engine or learning approach would you recommend?
4 Answers
Choose the game engine first, then learn the language it uses. For beginners, C# with Unity is usually a smoother path than C++ because you can focus more on making games and less on complicated low-level details. C++ makes more sense if you specifically want to use Unreal or build an engine from scratch, which may be overwhelming at first.
C# is a solid place to start, especially if you’re using Unity. You can always learn C++ later, along with other languages, but don’t feel like you need to master everything before making a project. C++ is powerful and widely used, but that flexibility also makes it harder for beginners. There isn’t one objectively “better” language; the right choice depends mostly on the engine and type of game you want to create.
Are there any C# courses or video series you’d particularly recommend?
C++ is common in large commercial games and is useful when you need maximum performance or want to work with advanced 3D graphics. For a first 2D or indie game, though, C#, GDScript, JavaScript, or several other languages can work well. C++ has a huge amount of learning material, but examples may depend on the compiler or language version, so getting started can involve extra frustration. Begin with a manageable engine and a small project instead of trying to build everything from scratch.
You could also look at Godot and its GDScript language. It’s designed to be approachable and is a nice option for learning game development. Whether you choose Godot, Unity, or another engine, starting with the engine’s preferred language will be less confusing than choosing a language in isolation.

What would be the best way for us to learn C#—videos, courses, or a particular app?