Hey, I’m trying to Load a map using LoadPackageAsync
, then travel to a server which is already on this map, but client always crash and I can’t figure out why.
It crash during travel
void UPackageLoader::SimpleAsyncLoad(FString PackagePath, FOnPackageLoaded Callback, EPackageFlags Flags)
{
//UE_LOGFMT(LogAbsPlayer, Error, "AsyncLoadLevel: Trying to load level");
CallbackToBind = Callback;
int32 SeparatorIndex;
PackagePath.FindChar('.', SeparatorIndex);
if( SeparatorIndex>= 0)
{
PackagePath = PackagePath.Mid(SeparatorIndex);
}
GetWorld()->GetTimerManager().SetTimer(MinimumTimeLoadServer, this, &UPackageLoader::AsyncFinishLoad, 10);
LoadPackageAsync(PackagePath, FLoadPackageAsyncDelegate::CreateLambda([this](const FName& PackageName, UPackage* LoadedPackage, EAsyncLoadingResult::Type Result)
{
if (Result == EAsyncLoadingResult::Succeeded)
{
UE_LOGFMT(LogTemp, Warning, "SimpleAsyncLoad delegate: loading successful");
AsyncTask(ENamedThreads::GameThread, [this]()
{
AsyncFinishLoad();
});
} else
{
UE_LOGFMT(LogTemp, Warning, "SimpleAsyncLoad delegate: loading failed");
}
}));
}
void UPackageLoader::AsyncFinishLoad()
{
if(bHasLoad)
{
bHasLoad = false;
CallbackToBind.Broadcast();
} else
{
bHasLoad = true;
}
}
Does anyone can help me ?
Flags is only equal to PKG_ContainsMap
the weird thing is, travelling to a light map like a flat world is not causing any issues, but once I’m trying to load a complex one with shaders, complex textures and all that stuff, it cause this crash