A friend and I are both complete beginners who want to learn programming so we can eventually create our own games. After looking into the options, we're stuck between C# and C++. Which language would be the better starting point for us, and what tools or learning resources would you recommend?
3 Answers
Choose the game engine first, then learn the language it uses. For beginners, C# with Unity is usually a smoother path than starting with C++ and building everything from scratch. C++ makes more sense if you specifically want to use Unreal or work toward large-scale, performance-focused games.
There isn’t one universally better language. C++ is common in AAA development and offers a lot of control, but that flexibility also makes it more difficult. C# is generally easier to get started with, especially when paired with Unity. You can always learn C++ later once you understand programming fundamentals.
Do you know any particularly good C# playlists or beginner-friendly learning apps?
Calling C++ “better” is subjective. The right choice depends on the engine and the type of game you want to make.
For a first project, Godot with GDScript or Unity with C# are both reasonable choices. Pick an engine that matches the kind of game you want to make and follow its beginner tutorials. For 2D games, many languages can work, while C++ becomes more relevant for high-performance 3D projects or custom engine development. Starting with C++ can be frustrating because the language and its tooling have a steep learning curve.

What videos, courses, or apps would you recommend for learning C#?