Disabling Live Coding breaks my project. Can you help me understand what is happening?

Hey, everyone!

Ran into this issue a few days ago and I’ve no idea how to fix it. Searching the web I couldn’t find anyone else who had run into this, so thought I’d post this question to learn the answer and document this occurence if it happens to anyone else in the future.

The Context:

I started working on my project using Unreal 5.3, installed from the Epic Launcher. The project went along fine until I ran into some issues building the project’s C++ source using a slightly different version of VS2022. Looking into it, I had to change some simple lines in the engines source to fix the issue.

Since I was pretty confident I could make the project happen with 5.3, I decided to lock into it by making the switch to a built from source version of 5.3. I downloaded the source, manually introduced the Visual Studio Integration Tools to the engine’s code and it builds fine - though I had to remove the AutoRTFMTests project from the build configuration: it comes enabled by default, but my research yielded that ClangRTFM (required by AutoRTFMTests) is an internal Epic project that isn’t released to costumers.


The engine build itself takes about 2h on my machine, so I’m just posting the result of a build command with the binaries already in place.

Anyway, I had to regenerate the project’s solution and rebuild the project using the new engine’s UnrealBuildTool, but that worked in the end and I kept working on the project with no issues until about a week ago.


Again, the project build takes about 30-40 minutes, so I’m just posting a build with the binaries already in place.

The Issue:

Live Coding is enabled for the project, it comes enabled in 5.3; I had some issues getting it to run, but solved those issues and the runs always finish successfully unless there’s something actually wrong.

Last week I started working with C++ more heavily in my project and, since I’m a noob, I started crashing the engine with my attempts at writing C++ code for Unreal. I’m used to ■■■■■■■ up, so that’s not a problem, I’ll get there eventually; however, having the engine crash constantly on me because I wrote an incorrect signature in a header file seemed like it would hinder me during this initial learning stage. So I decided to try disabling Live Coding so I could control the compilation process more closely.

I rolled back my changes, made sure the C++ sources I had were working as intended, and disabled Live Coding.

image

I then press the compile button in the engine.

image

The UI tells me the code compiled successfully…

image
image

But then, when I try to play any level in editor, the engine crashes with this error:

And then, the kicker: when trying to reopen my project, the engine crashes with a new error:

From here, the project is stuck: every time I open it, it throws this same error.

The Conclusion:

I don’t really know what is causing the error that happens when I try to play in editor after disabling Live Coding: it traces back to a piece of code from the engine that is checking GameplayTags, but to my knowledge, I have none in assets I worked with. Could only be from something I imported, perhaps. So I validated all of my project assets, fixed the problems shown by the validation and it still happens.

On the error that pops up after I try reopening the project, I read online that these duplicate file errors can usually be fixed by building from the project’s solution. If I open the project’s solution in VS and build the project, it works from the CLI:

But then when I try to open the project with the engine, it fails with the ol’ reliable:

image
image

The only course of action I’ve found that restores the project is getting rid of the build content entirely; deleting /Intermediate, /Saved, /Binaries and the rest… Then I can reopen the project with the engine, regenerate the solution and rebuild. However, that lands me back where I started: Live Coding is enabled again. Disabling it takes me through this loop again.

Any ideas?

Initially, I gave up on the issue and just left Live Coding on. But I recently stumbled upon a new problem with Live Coding and decided to revisit this issue and fix both of them. To gather more information on the issue I added more debug code to the failing line in UITag.h and found out the error was being thrown on a gameplay tag named UI.Action.Escape.

I started the project with the Lyra Example Project back when I was using the production packaged Unreal 5.3 (before moving to built from source) and the tags from the config files are the problem. Going into the Project Settings and disabling ‘Import Tags from Config’ in ‘GameplayTags’ solved the issue of the engine crashing when disabling Live Coding.

The project still doesn’t re-open after closing the editor, however. The second error is still there:

‘Fatal error: [File:C:\Users\ronis_1xgq\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 3337] Objects have the same fully qualified name but different paths. New Object: IndicatorWidgetInterface /Script/LyraGame.Default__IndicatorWidgetInterface Existing Object: IndicatorWidgetInterface /Script/LyraGame.Default__IndicatorWidgetInterface’

At this point it’s clear the LyraGame integration is messed up, I’ve noticed that the Unreal Engine built from source doesn’t match the version from the production-ready Engine. It always accuses a version mismatch if you try to use something built in one within another, so that might be it.

When you disable Live Coding, Hot Reload takes its place. So when you’re clicking that compile button in the Unreal editor while Live Coding is off, you’re actually using the Hot Reload function, which is Live Coding’s predecessor and quite buggy from what I’ve read.

As mentioned in my first reply, Hot Reloading the project with the Lyra example game in it seems to work, but causes the editor to crash when Playing In Editor using a Lyra pawn. This is due to an issue with Gameplay Tags, from my investigation, the first gameplay tag that fails is the UI.Action.Escape, but that could just be the first tag throwing an error and more, or all, are erroring. You can disable the ‘Import Gameplay Tags from Config files’ in the Project Settings and the Hot Reload no longer causes the crash when entering Play In Editor, but that’s not really a fix: disabling the Gameplay Tag import from Config files breaks mouse input for the Lyra character. You might be able to make it work again by re-introducing the Tags by hand, but I haven’t tried that myself.

Not using Hot Reload and building using VS seems to be the only way to avoid the issue when Live Coding is turned off.

As for the second error, I discovered that deleting the Binaries folder ‘solves’ it. You can either rebuild the code yourself using Visual Studio or let the Editor handle that as the project opens. Regardless of what you do, the project boots and Live Coding remains disabled. Hot Reloading the project (through the editor) will cause the problem again and you’ll have to keep deleting the Binaries folder everytime you close the project. Once again, compiling through VS works fine and doesn’t trigger the problem at all.

I don’t necessarily consider the problems solved, but it’s nice to know there’s a way to get the project working again when I disable Live Coding and run the Hot Reload, even if accidentally. Personally, I wouldn’t use Hot Reload at all if choosing to disale Live Coding. Just bite the bullet and compile through Visual Studio directly.

I’ll mark this as the solution for now.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.