Unreal C++ EndLoad() object has no linker

I’m getting an error when trying to run my game in a new window in its own process. For some reason, regular play-in-editor works fine, and I can also package the project (Windows 10) without any trouble. So the error is a useless stack trace, and a useless assertion message:

Assertion failed: Linker [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 2096]

So naturally I looked up the error in the source, and this is the check that fails:

// Preload.
UObject* Obj = ObjLoaded[i];
if (Obj->HasAnyFlags(RF_NeedLoad))
{
	FLinkerLoad* Linker = Obj->GetLinker();
	check(Linker);
	// ...

For some reason, the object doesn’t have a linker. I have no idea what this means. Several things come to mind:

  • why doesn’t the assertion print a message for the name of the object? I’m not building the engine from source, so I cannot just insert a print statement to find out what is going wrong.
  • what is a linker? And what does it mean than an object has a linker? (I’m a programmer, I know what a “linker” is, but in this context it might be something specific idunno.

Also, why is it that every time I want to google something Unreal-related, that the documentation is HORRENDOUS; ATROCIOUS; AMATEURISH; etc ?? I’m not making this up, this is literally the documentation, on the official website, for the function in question:
https://docs.unrealengine.com/4.27/en-US/API/Runtime/CoreUObject/UObject/EndLoad/

The documentation doesn’t exist. There is no error message. I don’t know how to even approach this problem except starting a new project, migrating the assets over 1by1 until something breaks…

Dear Epic: For such a big engine, used by so many people, why can’t you bother to document your ■■■■? Please - it’s super annoying! :slight_smile: :frowning:

And also, what can I do to approach this problem? I’m not being told what is going wrong.

1 Like

My biggest nightmare is getting an error that provides me no useful information on how to fix it.

Have you tried migrating your project to an empty project?
As well as refreshing REDIRECTORIES?