Error: appError called: Assertion failed: GIsHotReload

Why is this happening?

Assertion failed: GIsHotReload [File:/work/unreal/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/UObject/UObjectBase.cpp] [Line: 575]

I assume you’re hitting this when starting your project?

It’s pretty simple – when hot reloading a module, the generated module actually contains a lot of fancy hacks to allow the newly created classes and objects to be reconciled with the old. Without a previous module, this hot reload module is unusable. So when you’re starting the editor/game fresh without recompiling, the hot reloaded modules will throw an error.

Just compile again before launching following hot reloads, it’ll delete the hot reload modules and create a new one from scratch.

Well, I’m a bit confused. Because this happened with a fresh compile. It’s occurring when trying to start the editor.

There is one other thing that’s happening which I’ve been ignoring for now. But maybe they’re connected. The editor on launch is complaining about being a different version. I don’t know where this is coming from since I haven’t updated the editor in weeks.

If I recall correctly, you recently separated your game into different modules? There might be some dependencies not fully set, leading to some old hot reload modules not being caught and deleted. Possibly even modules predating the separation. I’m no expert at modules as we only have a game and editor module on our project, but I’d try going into the game Binaries folder and cleaning it manually.

I found part of the problem. For whatever reason, there’s two copies of the game libraries floating around – one set in my game directory and the other in Engine/Binaries. Only one set was getting updated when compiling leaving the obsolete copy out there. Guess which one the editor was using? Ugh.

I still don’t know why the editor is wanting to update my project to a newer version. The game has been on the same engine version from day one.