Recommended Free Tools
Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Unreal Engine is primarily built with C++. For game development, you can use C++, Unreal’s node-based Blueprint Visual Scripting system, or both. Verse is also used in the Unreal Editor for Fortnite (UEFN) ecosystem, but it is not the standard replacement for C++ in ordinary Unreal Engine projects.
The short answer: C++ powers Unreal Engine
C++ is Unreal Engine’s primary native programming language. Epic uses it for the engine’s underlying systems, and developers use it to build gameplay code, engine modules, plugins, and other native extensions. That does not mean every person making an Unreal game has to write C++: the engine’s implementation and the tools a project uses for gameplay are separate questions.
Unreal C++ uses familiar C++ syntax, but it also has engine-specific conventions, build tools, an object model, and a reflection system that connects code to the Editor. Macros such as UCLASS(), UFUNCTION(), and UPROPERTY() let Unreal recognize classes and members and, when configured appropriately, expose them to engine systems and Blueprints. These are annotations used within C++, not a separate language. See Epic’s C++ programming documentation.
What are Blueprints?
Blueprints are Unreal’s node-based visual scripting system. Instead of typing conventional source code, you assemble nodes and connect them to describe events, decisions, data, and actions in the Editor. Blueprint assets can define classes and object behavior, with variables, functions, events, interfaces, and construction logic. They are used for far more than animation or level-design shortcuts: they can implement substantial gameplay and user-interface behavior.
#1 Best Overall
Epic describes Blueprints as visual scripting. In practical terms, they let you build executable logic visually rather than by writing statements in a text file. They are not simply “no code,” but neither are they a general-purpose text language with the same low-level access and native-code workflow as C++. Their capabilities are built around functionality that Unreal exposes to the Blueprint system. Read Epic’s Blueprint overview.
C++ vs. Blueprints
| Consideration | C++ | Blueprints |
|---|---|---|
| How you work | Write and compile source code in a native development workflow. | Build logic visually in the Unreal Editor with nodes and connections. |
| Getting started | Requires learning C++ and Unreal’s framework and conventions. | Often easier to begin with, especially for people new to programming or working in design. |
| Iteration | Native-code changes typically involve a compile cycle. | Convenient for quickly changing and testing gameplay behavior in the Editor. |
| Performance | Generally offers better runtime performance for demanding work, but code still needs to be designed and optimized well. | Has scripting overhead, though the difference is often unimportant for ordinary gameplay logic. |
| Access and control | Better suited to low-level engine access, external libraries, complex systems, and multithreaded work. | Works with engine functionality exposed to Blueprint and is well suited to event-driven and content-specific behavior. |
| Team workflow | Source files can be reviewed and merged through code-oriented collaboration workflows. | Lets designers and technical artists own and adjust behaviors without editing native code. |
Neither option wins every situation. Epic notes that C++ compiles to machine code, while Blueprints compile to bytecode executed by a virtual machine, which introduces overhead. The practical effect depends on the work and can be negligible for typical gameplay logic; “Blueprints are always too slow” is not a sound rule. C++ is more likely to matter in tight loops, large data-processing workloads, tick-heavy systems with many instances, processing-intensive input/output, or code that benefits from multithreading. A poorly structured C++ system is not automatically fast.
Rank #2
C++ is a stronger choice when you need low-level access, native integrations, complex algorithms, reusable infrastructure, or tight control over performance. Blueprints are a strong choice for rapid prototyping, designer-owned behavior, and logic that is mostly event-driven and not performance-critical. Epic’s comparison of Blueprint and C++ explains the trade-offs.
Why Unreal projects often use both
C++ and Blueprints are complementary, not competing engines. Epic says a project can be built with only one, but many projects benefit from combining them. A common pattern is to put stable, reusable systems and base classes in C++, then expose selected properties and functions so designers can create or customize Blueprint classes on top.
Rank #3
- Build the foundation in C++: define reusable classes, core systems, and functionality that needs native access or careful performance control.
- Expose useful parts: use Unreal’s reflection and Blueprint-exposure tools so the Editor can recognize chosen types and members.
- Extend in Blueprints: let designers or gameplay developers tune values and add content-specific behavior without changing the native foundation for every variation.
For example, a C++ character class might implement reusable movement or health functions; a Blueprint child could set particular values and define a level-specific event response. Unreal’s macros make this connection possible. UCLASS() marks an Unreal class, UPROPERTY(BlueprintReadWrite) can expose a property for Blueprint access, and UFUNCTION(BlueprintCallable) can make a function callable from Blueprint. Exact exposure depends on the declaration and access specifiers; the snippets are illustrative, not a complete class:
UPROPERTY(BlueprintReadWrite)
float Health;
UFUNCTION(BlueprintCallable)
void ApplyDamage(float Amount);
Blueprints can also be extended from C++ classes, and a Blueprint can serve as the basis for further content work. Do not assume Unreal will automatically turn an entire Blueprint project into finished C++: Epic documents a Blueprint Header View workflow that can generate declarations, but implementing the corresponding C++ behavior requires manual work.
Rank #4
Can you make an Unreal game without C++?
Yes. You can start with Blueprints without first learning C++, and Blueprint-only projects are supported. They can be suitable for learning, prototypes, small games, and many content-driven systems. Beginning in the Editor can help you understand gameplay concepts before adding a second learning curve.
C++ becomes more valuable as your needs grow: custom engine features, plugins, native integrations, reusable frameworks, demanding optimization, complex architecture, or extensive tools and systems work. For a large project, C++ can also help establish a code-managed foundation that many Blueprint classes can reuse. You do not have to choose one forever, and you do not need to master C++ before trying Unreal.
Best Value
What is Verse, and is it Unreal Engine’s main language?
Verse is an Epic programming language designed for online games and is prominently associated with Unreal Editor for Fortnite (UEFN). Epic presents it within the UEFN and Fortnite creator ecosystem; see the UEFN developer tools page.
That makes Verse relevant if you are creating Fortnite experiences in UEFN, but it is not the general answer to what language Unreal Engine uses. For ordinary Unreal Engine development, the core choices remain C++ and Blueprints. Do not assume Verse has replaced C++ across Unreal Engine projects.
What about UnrealScript?
Older Unreal Engine generations used UnrealScript, but it is historical context rather than a modern Unreal Engine learning target. For current development, focus on C++, Blueprints, or—if your goal is UEFN—Verse and the UEFN workflow.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Which should you learn first?
| Your goal | A sensible starting point |
|---|---|
| You are new to programming and want to make something in Unreal | Start with Blueprint fundamentals. Learn C++ later if your goals call for it. |
| You are a designer or technical artist | Begin with Blueprints; learn enough about C++ and Blueprint integration to collaborate on the systems you use. |
| You already know C++ | Learn Unreal’s object model, Actors and Components, reflection macros, build workflow, and how to expose code to Blueprints. |
| You want to be an Unreal gameplay programmer | Learn Unreal C++ and Blueprint integration together. Use Blueprints to understand how designers and content creators work with your systems. |
| You want to work on engine, tools, or performance-heavy systems | Prioritize C++ and Unreal’s native framework; use Blueprints where they make iteration or content work easier. |
| You want to create Fortnite islands in UEFN | Learn the UEFN workflow and Verse; Blueprint knowledge may also be useful, but Verse is the language emphasized for this context. |
The right sequence depends on the work you want to do, not on a rule that every Unreal user must become a C++ programmer first.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

