Is there any way to save UPackage created by TakeRecorder while in PIE state in UE 5.5?
Or is this an intentional limitation introduced in recent versions?
Any guidance would be appreciated.
“The function below worked successfully in 5.1, but when I ran it the same way in 5.5, it didn’t work. Looking at the logs, I saw this error: LogUtils: Error: The Editor is currently in a play mode.”
const FString UMyGameInstance::PackageName = TEXT("/Game/PackageTest");
const FString UMyGameInstance::AssetName = TEXT("PackageTest");
void UMyGameInstance::SaveStudentPackage() const
{
UPackage* StudentPackage = ::LoadPackage(nullptr, *PackageName, LOAD_None);
if (StudentPackage)
{
StudentPackage->FullyLoad();
}
StudentPackage = CreatePackage(*PackageName);
EObjectFlags ObjectFlag = RF_Public | RF_Standalone;
UMyObject* SaveObject = NewObject<UMyObject>(StudentPackage, UMyObject::StaticClass(), *AssetName, ObjectFlag);
const FString PackageFileName = FPackageName::LongPackageNameToFilename(PackageName, FPackageName::GetAssetPackageExtension());
FSavePackageArgs SaveArgs;
SaveArgs.TopLevelFlags = ObjectFlag;
if (UPackage::SavePackage(StudentPackage, nullptr, *PackageFileName, SaveArgs))
{
UE_LOG(LogTemp, Log, TEXT("Success!"));
}
}