The road to Unreal Engine 6 - Unreal Engine
News
_p:first-child:last-child]:d_contents [&&_em]:font-style_italic" style="--cosmos-gradient:linear-gradient(225deg, #f1b8dd 0%, #868afd 100%);--color:#ffffff">The road to Unreal Engine 6<br>Animation
Film & Television
Games
Indies
Mobile
UE 6
Hello Unreal Engine community, I’m Marcus Wassmer and I lead the development team at Epic Games.
If you were watching the Rocket League Championship Series a few weeks ago, you might have noticed a familiar logo with a 6 on it. We wanted to provide a first glimpse of Unreal Engine 6 before we shared our engine development plans with fellow developers at Unreal Fest Chicago.
UE4 opened the engine up to everyone. UE5 reinvented how we build worlds. UE6 is about evolving how we ship and operate them .
Our approach with UE6 is shaping up quite differently from how we developed UE4 and UE5. Over the next two years, we'll be unifying the two major streams of Unreal Engine development—UE5 and Unreal Editor for Fortnite—into a single product: Unreal Engine 6.
This post is an early look at where we're taking the engine and why.
What is UE6?
In short, UE6 is UE5 and UEFN coming together into a single, unified engine for the next generation of gaming.
That said, UE6 will keep doing the things you want Unreal Engine to do. Rendering will keep getting better. Cook times will come down. Iteration loops will get tighter. Mobile is increasingly capable.
But UE6 exists distinctly from an incremental UE5 development path because three things about game development need to change at the same time:
We’re moving the gameplay programming model to Verse, which transactionalizes C++, for increased accessibility of development and so that we can build persistent, large-scale, live experiences with thousands of contributors.
We’re enabling content, code, and economies to become portable and interoperable across games , ecosystems, and engines through open standards, to enable developer collaboration on much greater scales than ever before.
We’re building development pipeline features such as an MCP with integrations for Claude, Gemini, and others, as creativity and productivity multipliers so that teams can focus their efforts on the essential creative and technical tasks of development rather than time on time-consuming manual tasks.
A new gameplay framework
UE6 will include an entirely new gameplay framework known collectively as Scene Graph, built from scratch on Verse . Verse is the foundation for Epic’s future programming model. It’s a next-generation programming language purpose-built to power massive, persistent game worlds at scale, where global state just works, and transactionally correct concurrency is handled by the runtime. Scene Graph is a modern, high-level gameplay framework that will give you a true foundation for creating games and experiences easily, and sharing their interoperable components between games.
Verse draws ideas from functional, logic, and imperative languages, and should feel immediately familiar to anyone who has worked with languages like Python or C#. But it also has some unique features, aimed at solving the complexity and scaling problems of modern game development—starting with its unique software transactional memory model.
All functions in Verse run as part of atomic transactions, which can be rolled back and resimulated when needed. These transactional semantics also extend to any C++ code that is called from Verse. For now, to make all this work, Verse runs on a single thread and calls C++ code built via a custom LLVM compiler that automatically transactionalizes the C++ code. In principle we can extend this method to automatically run transactions concurrently on different threads, but we have some work to do to get there on hardware that will scale appropriately.
The more interesting thing this enables for large, live worlds is that with UE6, we're working to build a full distributed software transactional memory system. We intend to take the existing single-threaded-style Verse game code, then distribute it across multiple servers automatically. When an object is needed on one server in the cluster, the Verse runtime rolls back the current transaction, migrates the object to the appropriate server, then re-runs the transaction with the object now present.
The magic here is that your game code can be written as if it were running on a single machine without needing to coordinate custom networking code all over the place. Behind the scenes, many servers can be spun up to distribute the work automatically. Our early prototype work is promising and has shown that we can both write ‘single-server’ code and get performance scaling out of distributing the work transparently.
Even better, the distribution and the transactional semantics make saving game data way simpler. The Verse runtime can automatically synchronize and save any global state for the program, and share that state across...