Quick answer: Unreal Build Tool refuses to build a module that the running editor has loaded through Live Coding. If you only changed function bodies, press Ctrl+Alt+F11 in the editor instead of building from the IDE. If you changed a header, a UPROPERTY or a constructor, close the editor (and any stray LiveCodingConsole.exe), build from the IDE, and reopen.

This is the most common build error in day-to-day Unreal C++ work, and it is not a bug: it is UBT protecting the running editor from having its DLLs replaced underneath it. The fix depends on what you changed, and on whether the editor is really closed.

The exact error

It shows up in the IDE's build output when you build with the editor open:

Unable to build while Live Coding is active. Exit the editor and game, or press Ctrl+Alt+F11 if iterating on code in the editor or game

Visual Studio usually follows it with an MSB3073 error saying the build command exited with a non-zero code. That second error is just the IDE reporting UBT's refusal, so fix the first one.

Why Unreal blocks the build

Live Coding patches new machine code into the running editor process. While it is active, the editor holds your game module loaded and Live Coding owns the patching. A normal build from the IDE would compile and link new module DLLs on disk at the same time, which can leave the editor running one version of your code while the files on disk say another. UBT refuses rather than risk that.

“Exit the editor and game” matters too: a standalone game launched from the editor, or a packaged Development build running with Live Coding enabled, counts as an active session.

Fix 1: you changed function bodies only

Use Live Coding as intended. Save your .cpp files and, with the editor focused, press Ctrl+Alt+F11, or click the Compile button in the editor's bottom toolbar. Live Coding compiles only the changed translation units and patches them in, usually in seconds. Do not press Build in the IDE for these changes.

If the shortcut does nothing, another program (GPU driver overlays, recording tools) may have claimed it. Use the toolbar button, and check the Live Coding section of Editor Preferences to confirm it is enabled.

Fix 2: you changed a header or a reflected type

Live Coding cannot reliably patch changes to class layout. That includes adding or removing a UPROPERTY or UFUNCTION, adding a UCLASS or USTRUCT, changing member variables, changing constructor defaults that Blueprints depend on, and adding new modules. For these:

  1. Save your work in the editor and close it.
  2. Make sure the process is really gone (see Fix 3).
  3. Build the Development Editor | Win64 configuration from the IDE.
  4. Relaunch the editor from the IDE or the .uproject.

Recent UE5 versions have an object reinstancing option for Live Coding that handles some layout changes, but Blueprint defaults and serialized data can still come out wrong. A clean restart after header changes is the habit that avoids corrupted Blueprints.

Fix 3: the editor is closed but the error remains

Something is still holding the Live Coding session. Open Task Manager and end any of these that are still running:

From a terminal, the same check:

tasklist | findstr /I "UnrealEditor LiveCodingConsole"
taskkill /IM LiveCodingConsole.exe /F

Then build again. If you hit this constantly after editor crashes, it is worth adding that taskkill line to a pre-build step in your local workflow.

Fix 4: turn Live Coding off

If you prefer the old workflow of always building from the IDE, disable it in Editor Preferences > General > Live Coding > Enable Live Coding and restart the editor. Builds from the IDE then no longer collide with a Live Coding session. You still need to close the editor for header changes, and building while the editor is open without Live Coding falls back to Hot Reload, which has a long history of corrupting Blueprints, so treat “close, build, reopen” as the default.

Make sure Live Coding changes stick

Live Coding patches the running process. Before you commit or package, close the editor and do a normal build so the module DLLs on disk contain the same code you tested. Skipping this is how teams end up with a teammate's editor or a CI build running code that differs from what was tested in the editor.

Catching what changes between editor and build

Iteration bugs like this stay on your machine. The ones that get away are differences between what ran in the editor and what ships. Bugnet's Unreal SDK reports ensures and fatal errors from packaged builds with the build version attached, so a regression introduced by a patched-but-never-rebuilt module shows up as a new issue on that build rather than as a player complaint weeks later.

Frequently asked questions

How do I fix “Unable to build while Live Coding is active”?

Either compile from the editor with Ctrl+Alt+F11 if you only changed function bodies, or close the editor and any LiveCodingConsole.exe process, then build from Visual Studio or Rider.

Can Live Coding handle header changes in Unreal?

Not reliably. Adding UPROPERTYs, UFUNCTIONs, new classes or changing class layout needs the editor closed, a full build and a restart.

How do I disable Live Coding in Unreal Engine 5?

Open Editor Preferences, General, Live Coding and untick Enable Live Coding, then restart the editor.

Why does the error appear after I closed the editor?

A process is still running, usually a crashed UnrealEditor.exe, LiveCodingConsole.exe or a standalone game. End it in Task Manager and build again.

Function body: Ctrl+Alt+F11. Anything with a U-macro in it: close the editor first.