The bug is in the function
UObject* StaticLoadObject(UClass* ObjectClass, UObject* InOuter, const TCHAR* InName, const TCHAR* Filename, uint32 LoadFlags, UPackageMap* Sandbox, bool bAllowObjectReconciliation )
{
......
// break up the name into packages, returning the innermost name and its outer
ResolveName(InOuter, StrName, true, true);
if (InOuter)
{
.....
if( (FPlatformProperties::RequiresCookedData() || FPlatformProperties::IsServerOnly()) && GUseSeekFreeLoading )
{
.....
}
else
{
.....
// If the object was not found, check for a redirector and follow it if the class matches
UObjectRedirector* Redirector = FindObjectFast<UObjectRedirector>(InOuter, *StrName);
if ( Redirector && Redirector->DestinationObject && Redirector->DestinationObject->IsA(ObjectClass) )
{
return Redirector->DestinationObject;
}
}
}
......
return nullptr;
}
The call to UObjectRedirector* Redirector = FindObjectFast(…)
is unable to load the Redirector even if the object exists.
D.