Short answer: no, you do not need C++ to make a game. You can ship something playable in Godot with GDScript, in Unity with C#, or in Unreal with Blueprints and never write a line of C++.
Longer answer: if you want to work on the games that actually push hardware, get hired by a serious studio, or understand what your engine is doing instead of fighting it, you are going to run into C++ eventually. The only question is whether you learn it on purpose now or get cornered into it later.
Let me break down who can skip it and who can't.
Who can skip C++ (for now)
If you are making a 2D platformer, a narrative game, a mobile puzzle game, or a small indie project, you can go a long way without C++. Engines like Godot and Unity were built so you don't have to touch low-level code to make something fun. GDScript and C# are friendlier, faster to write, and more forgiving. For a huge number of games, that is the right tool.
If your goal is "I want to make a game this year and put it on itch.io," do not let anyone bully you into learning C++ first. Pick a friendly engine and ship.
Who needs C++
Here is where it changes. You need C++ if any of these describe you:
You want a job at a studio building big games. Open the job listings. Gameplay programmer, engine programmer, tools programmer at basically any AAA or serious mid-size studio: C++ is in the requirements. Not "nice to have." Required. The industry runs on it.
You are working in Unreal Engine for anything serious. Yes, Blueprints exist. Yes, you can prototype with them. But the moment your project gets complex, you hit performance walls and architecture limits that only C++ solves. Studios shipping on Unreal write C++. (More on this in our piece on C++ vs Blueprints.)
You want to actually understand games instead of just assembling them. Engines hide a lot. Memory, the game loop, how rendering talks to the CPU, how physics steps, how data flows through a frame. When you learn C++ and the systems underneath, the engine stops being a black box. You stop guessing why something is slow and start knowing.
The thing nobody tells beginners
C++ has a reputation as the scary, hard, "you'll shoot yourself in the foot" language. Some of that is earned. It is less forgiving than C# or GDScript. You manage memory. You deal with pointers. The compiler errors can look like someone sneezed on your keyboard.
But here is what that reputation hides: the difficulty is the point. C++ makes you understand what is actually happening. When you learn it properly, with a real foundation instead of copying tutorial code, the rest of programming gets easier, not harder. People who learn C++ first tend to pick up C#, Python, and others fast, because they already understand the machine underneath.
The mistake is learning C++ badly. Skimming syntax, copying snippets, never understanding memory or how the pieces fit. That produces someone who "knows C++" on paper and falls apart the moment a tutorial does not cover their exact problem.
So what should you do?
If you just want to make a small game soon: pick a friendly engine, ship it, have fun. Come back to C++ when you hit a wall or want to go deeper.
If you want a career in games, or you want to work in Unreal, or you want to genuinely understand how games work down to the metal: learn C++, and learn it for real. Not syntax memorization. The actual foundation, the systems, the way games are built underneath the editor.
That second path is exactly what we built Game Dev Junkies for. We teach C++ from the ground up, then the math, then the systems, then Unreal C++, the way games are actually built. Not "click these nodes." The real thing.