article · 2026-06-19

Verse is quietly moving into mainline Unreal Engine

Epic's UEFN scripting language ships pieces of itself inside the core of UE 5.8 - a virtual machine, a compiler, and a transactional-memory foundation - growing release over release in plain sight.

159 / 173 / 180
VerseVM headers in CoreUObject (UE 5.6 / 5.7 / 5.8)
WITH_VERSE_VM (compile-time, off by default)
Verse VM build gate
Inside CoreUObject (Public/Private VerseVM) + CorePreciseFP
Where the VerseVM lives
Runtime/VerseCompiler on uLangCore + uLangJSON
Verse compiler frontend
AutoRTFM software transactional memory
Concurrency foundation
Stated direction, not a shipped GA workflow
Mainline Verse availability

The quiet part: Verse is already in the engine you have installed

If you ask whether you can write a mainline Unreal Engine game in Verse today, the honest answer is no - there is no shipped, generally-available workflow for it in UE 5.8. But that answer hides the more interesting truth. Open the source of an installed UE 5.8 build and Verse is already there, not as a marketing checkbox but as working infrastructure: a virtual machine living inside the engine's core object system, a dedicated compiler module, and a transactional-memory layer underneath both. Verse is not coming to mainline Unreal as a future announcement. Significant parts of it have already arrived, quietly, and they are getting bigger with every release.

Verse is the language Epic built for the Unreal Editor for Fortnite (UEFN). Today that is its only generally-available home: it is the scripting language UEFN creators use, with a functional, logic-oriented flavor, a strong static type system, and a concurrency model built around transactions rather than locks. The question this article is about is not what Verse is in UEFN - that part ships - but what it is doing inside mainline Unreal Engine, where most studios actually build their games in C++ and Blueprint.

To be clear about the method here: every engine claim below comes from reading the source of an installed UE 5.8 build (the ++UE5+Release-5.8 branch). This is not a leak, a roadmap rumor, or a guess about UE6. It is a description of code that is sitting on disk right now, gated behind compile-time switches, present but not lit up. That distinction - present in the binary versus generally available to ship with - runs through everything that follows, so hold onto it.

What Verse actually is, in one honest paragraph

Verse is a statically typed, functional-logic language. The functional part means expressions and immutability are first-class and side effects are constrained rather than scattered everywhere. The logic part means failure is a built-in concept: an expression can simply fail, and that failure composes cleanly into control flow instead of being bolted on as exceptions. For a Blueprint or C++ developer the closest mental model is a language that takes the safety guarantees you wish you had and bakes them into the type system, then adds a notion of structured concurrency on top.

That concurrency is the genuinely novel piece, and it leans on a foundation Epic calls AutoRTFM - Automatic Runtime Transactional Memory, a software transactional memory system. Instead of asking you to reason about locks and races, the runtime can run work speculatively inside a transaction and roll it back cleanly if it needs to be abandoned. This is what makes Verse's concurrency model tractable: concurrent work that conflicts can be unwound as if it never happened. AutoRTFM is not a Verse-only curiosity either; it is a broader engine capability that Verse is built on top of.

None of this makes Verse a replacement for what you use now. It is a different tool with different strengths: a high-level language for gameplay and systems logic that is safer and more concurrency-friendly than hand-written C++, and more scalable and toolable than Blueprint graphs once logic gets complicated. Whether it ever earns a place in your mainline pipeline is a real open question. But it is clearly being engineered as a third authoring option, not a demolition of the first two.

The VerseVM, living inside CoreUObject

Here is the most telling piece of evidence. The Verse virtual machine - VerseVM - is not off in some isolated plugin you can ignore. In UE 5.8 it is embedded directly inside CoreUObject, the module that defines Unreal's entire object, reflection, and serialization system. Its headers sit under the Public and Private VerseVM folders of CoreUObject, with related precise-floating-point support in CorePreciseFP. When a language's runtime is being woven into the very module every other system depends on, that is not an experiment kept at arm's length. That is integration at the foundation.

And it is a real virtual machine, not a stub. The source shows a full register-and-bytecode VM: a bytecode format (VVMBytecode), an emitter that produces it (VVMBytecodeEmitter), a dispatcher that executes it (VVMBytecodeDispatcher), plus the runtime object model the VM operates on - VVMClass, VVMContext, VVMArray, VVMEmergentType - and even a debugger (VVMDebugger). These are the components you would expect from a serious managed-language runtime, and they are all present in the shipped engine source. The whole thing is gated behind the compile-time switch WITH_VERSE_VM, which is exactly why you do not see it in a default editor session: it is built conditionally, not enabled by default for general use.

The VM's own design notes point outward, too. The VerseVM source carries a third-party notice file referencing JavaScriptCore - Apple's JavaScript engine - as a design influence for the virtual machine. That lineage tells you something about the engineering ambition here: Epic is not bolting a toy interpreter onto the side of Unreal. It is building a production-grade VM with a pedigree, sitting inside the core object system, and it is doing so deliberately and incrementally.

The compiler, the frontend, and a steadily rising header count

A virtual machine needs something to feed it, and UE 5.8 ships that too. There is a dedicated Runtime module, VerseCompiler, whose job is to turn Verse source into something the VM can run. It depends on the uLang libraries - uLangCore and uLangJSON - which are the Verse language frontend Epic developed: the parser, the type system, the semantic analysis that sits in front of code generation. Notably, VerseCompiler explicitly disables AutoRTFM instrumentation on itself (bDisableAutoRTFMInstrumentation), which is a small but concrete sign of how tightly the compiler, the VM, and the transactional-memory layer are co-engineered.

The integration reaches further than just the VM and compiler. The AssetRegistry - the system that indexes and tracks every asset in a project - has Verse-aware code paths in 5.8. That matters because it means Verse is not being treated as a sealed scripting box hanging off the side; it is being threaded into how the engine catalogs and reasons about content. Each of these touch points is another place where mainline Unreal has had to learn about Verse to accommodate it.

The clearest single signal, though, is growth over time. Count the VerseVM headers inside CoreUObject's Public folder across three consecutive releases and you get a steady climb: 159 in UE 5.6, 173 in UE 5.7, and 180 in UE 5.8. That is not a one-off code drop that then sat untouched. It is sustained, release-over-release expansion of Verse's footprint inside the core of the engine - the signature of a long-running, deliberate integration program rather than a side experiment that might be abandoned.

What a third authoring language would mean for you

Suppose this trajectory continues and Verse becomes a generally-available way to author mainline Unreal gameplay. The most important thing to understand is that it would be additive. C++ would remain the language for engine systems, performance-critical code, and everything that needs to touch the metal. Blueprint would remain the fast, visual, designer-friendly path it has always been. Verse would slot in as a third option aimed squarely at the middle ground that both currently strain to serve: complex gameplay and systems logic where C++ is heavyweight and Blueprint graphs become unmanageable.

The practical pitch is safety and concurrency. A type system that treats failure as a first-class, composable outcome catches whole categories of bugs that slip through C++ and that Blueprint cannot express cleanly. A transactional concurrency model lets you write parallel gameplay logic without the lock-juggling that makes multithreaded C++ a specialist skill. If you have ever watched a Blueprint event graph collapse under its own complexity, or spent a day chasing a race condition in gameplay threading, you can see the gap Verse is shaped to fill.

There are real costs to weigh, and pretending otherwise would be dishonest. A third language is a third thing for a team to learn, hire for, debug, and maintain interop across. Verse's functional-logic style is genuinely unfamiliar to most Unreal developers, and a managed VM raises legitimate questions about performance ceilings and debugging ergonomics in a real production. None of these are answered yet for mainline use, because mainline Verse is not a finished, shipping workflow. The right posture is interest, not adoption: worth watching closely, not worth betting a pipeline on today.

The honest ceiling: stated direction plus visible code, not a shipped feature

It is easy to over-read all of this, so here is the line not to cross. The evidence above is strong on one specific claim: Verse's runtime, compiler, and supporting infrastructure are really present in mainline UE 5.8 and have grown steadily across recent releases. The evidence does not establish that you can write your game in Verse in mainline Unreal today. You cannot. The VM is gated behind WITH_VERSE_VM, the pieces are experimental, and there is no generally-available, supported end-to-end workflow for mainline Verse in 5.8. Present in the binary is not the same as ready to ship with.

Epic has publicly stated that Verse is intended to come to mainline Unreal as a general-purpose language, and the code trajectory in the engine source is consistent with that stated direction. Those two things together - a public statement of intent plus a visible, multi-release integration effort - are a reasonable basis for expecting Verse to keep moving toward mainline. They are not a basis for any claim about exact timing, an official version, or a guaranteed feature list. Treat any specific date or version you see attached to mainline Verse as speculation, including the common assumption that the next major Unreal release will somehow be Verse-centric. That is a projection, not a fact Epic has committed to.

So the accurate framing is narrow and defensible. Verse is moving into mainline Unreal Engine - that present-tense verb is justified by the source. How far it gets, when, and in what shipped form remains genuinely open. The smart move for a studio is to understand what Verse is now, watch the header counts and release notes, and keep your architecture flexible enough to adopt a third language if and when it becomes real - without restructuring anything today on the assumption that it already has.

Watching the trend without restructuring your project

You do not need to do anything to your shipping project because of Verse, and you should be suspicious of anyone telling you otherwise. What you can do is treat this as one more strand of a larger pattern: Unreal is being reworked, release over release, to be more amenable to high-level, safer, more automatable authoring. The Verse integration is the language end of that story. The first-party agent tooling Epic is also building into the editor is the automation end of it. Both point the same way - toward an engine that is increasingly programmable above the C++ layer.

If your interest is the automation end of that trend rather than the language end, the practical place to start is agent-driven editor tooling you can actually use today, rather than gated experimental code you cannot. MythicDevAssist (MDA) is our agent-native bridge into the UE5 editor over the open Model Context Protocol, which lets an AI agent observe and act inside your project now, on the engines you already run. It is a way to get hands-on with the programmable-engine direction without waiting for any unreleased feature to land.

The closing thought is a discipline, not a prediction. Read the engine source, count the headers, watch the release notes - and let the evidence set the size of your claims. Verse in mainline Unreal is real enough to track and far enough from done that betting on it would be premature. That gap, held honestly, is exactly where a careful developer wants to stand: informed about the direction, unexposed to the hype.

Verse in the UE 5.8 source: the evidence, piece by piece

ComponentWhere it livesWhat it isWhat it tells you
VerseVMCoreUObject (Public/Private VerseVM)A register/bytecode virtual machine: VVMBytecode, VVMBytecodeEmitter, VVMBytecodeDispatcher, VVMClass, VVMContext, VVMArray, VVMDebuggerVerse's runtime is woven into the core object system, not isolated in a plugin
CorePreciseFPEngine corePrecise floating-point support used alongside the VMThe VM's numeric behavior is being handled at the core level
VerseCompilerRuntime/VerseCompilerCompiler module that depends on uLangCore and uLangJSON (the Verse frontend); disables AutoRTFM instrumentation on itselfThere is a real toolchain to feed the VM, co-engineered with the transactional layer
AutoRTFMEngine-wide capabilityAutomatic Runtime Transactional Memory - software transactional memory the VM builds onVerse's concurrency model has a concrete runtime foundation
JavaScriptCore noticePublic/VerseVM (third-party notice)A design-influence reference for the VMThis is a production-grade VM with a real pedigree, not a toy interpreter
AssetRegistry Verse pathsAssetRegistryVerse-aware code paths in the asset indexing systemVerse is being threaded into how the engine catalogs content
WITH_VERSE_VM gateBuild configurationCompile-time switch controlling whether the VM is builtPresent but gated: experimental, not enabled for general use by default
Header growthCoreUObject Public/VerseVM159 headers in 5.6, 173 in 5.7, 180 in 5.8A sustained, deliberate integration program, not a one-off code drop

Every row is read from an installed ++UE5+Release-5.8 build. "Present in the binary" does not mean generally available - the VM is gated behind WITH_VERSE_VM and the pieces are experimental.

FAQ

Can I write a mainline Unreal Engine game in Verse right now?

No. As of UE 5.8 there is no generally-available, supported workflow for authoring a mainline Unreal game in Verse. The Verse virtual machine and compiler are present in the engine source but gated behind the compile-time switch WITH_VERSE_VM and treated as experimental. Verse ships today as the scripting language for UEFN, not for mainline UE.

Is Verse coming to mainline Unreal Engine?

Epic has publicly stated that Verse is intended to come to mainline Unreal as a general-purpose language, and the engine source shows a steady, multi-release integration effort consistent with that direction. Both are real. What is not established is any specific release date, version number, or final feature set - treat those as speculation, not fact.

Will Verse replace C++ or Blueprint in Unreal?

There is no evidence it is meant to. Verse reads as an additive third authoring language aimed at complex gameplay and systems logic, the middle ground where C++ is heavyweight and Blueprint graphs get unwieldy. C++ stays the language for engine and performance-critical code; Blueprint stays the fast visual path. Verse would slot in beside them, not on top of them.

What is the proof that Verse is in UE 5.8 and not just UEFN?

Reading an installed UE 5.8 build, the VerseVM virtual machine lives inside CoreUObject, the core object system; there is a dedicated VerseCompiler runtime module built on Epic's uLang frontend; the concurrency model rests on AutoRTFM transactional memory; and the count of VerseVM headers in CoreUObject grew from 159 in 5.6 to 173 in 5.7 to 180 in 5.8. That is mainline engine code, not UEFN-only tooling.

What is AutoRTFM and why does Verse need it?

AutoRTFM is Automatic Runtime Transactional Memory, a software transactional memory system in Unreal. It lets the runtime execute work speculatively inside a transaction and cleanly roll it back if needed, which is what makes Verse's concurrency model tractable - conflicting concurrent work can be unwound as if it never ran, instead of forcing developers to hand-manage locks.

Does this mean the next major Unreal version will be Verse-only?

No - that is a common assumption, not a fact. Epic has not committed to a next-version name, number, date, or a Verse-centric mandate. The defensible claim is narrow: Verse's runtime and compiler are present and growing in mainline UE 5.8, and Epic has stated Verse is headed for mainline. Anything about a specific future release being built around Verse is projection.

Get more like this

New articles, marketplace data and tool releases — straight to your inbox. Or grab the RSS feed. No spam, unsubscribe anytime.

Report a bug