Description

The package that contains the PCGGrapch is dirtied on load (UPackage::SetDirtyFlag) which triggers a resave operation.

I traced it back to the following callstack:
UnrealEditor-CoreUObject.dll!UPackage::SetDirtyFlag(bool bInIsDirty) Line 102 C++
UnrealEditor-CoreUObject.dll!UObjectBaseUtility::MarkPackageDirty() Line 335 C++
UnrealEditor-CoreUObject.dll!UObject::Modify(bool bAlwaysMarkDirty) Line 1443 C++
UnrealEditor-PCG.dll!UPCGNode::UpdatePins::__l2::<lambda_2>::operator()(TArray<UPCGPin *,TSizedDefaultAllocator<32>> & Pins, const TArray<FPCGPinProperties,TSizedDefaultAllocator<32>> & PinProperties) Line 824 C++
UnrealEditor-PCG.dll!UPCGNode::UpdatePins(TFunctionRef<UPCGPin * __cdecl(UPCGNode *)> PinAllocator) Line 891 C++
[Inline Frame] UnrealEditor-PCG.dll!UPCGNode::UpdatePins() Line 665 C++
UnrealEditor-PCG.dll!UPCGGraph::UPCGGraph(const FObjectInitializer & ObjectInitializer) Line 201 C++
UnrealEditor-CoreUObject.dll!StaticConstructObject_Internal(const FStaticConstructObjectParameters & Params) Line 4389 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::CreateExport(int Index) Line 5211 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::IndexToObject(FPackageIndex Index) Line 5627 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::CreateExport(int Index) Line 4897 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::IndexToObject(FPackageIndex Index) Line 5627 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::CreateExport(int Index) Line 4897 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::IndexToObject(FPackageIndex Index) Line 5627 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::CreateExport(int Index) Line 4897 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::CreateExportAndPreload(int ExportIndex, bool bForcePreload) Line 3881 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::LoadAllObjects(bool bForcePreload) Line 4059 C++
UnrealEditor-CoreUObject.dll!LoadPackageInternal(UPackage * InOuter, const FPackagePath & PackagePath, unsigned int LoadFlags, FLinkerLoad * ImportLinker, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext, const FPackagePath * DiffPackagePath) Line 1833 C++
UnrealEditor-CoreUObject.dll!LoadPackage(UPackage * InOuter, const FPackagePath & PackagePath, unsigned int LoadFlags, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext, const FPackagePath * DiffPackagePath) Line 2014 C++
UnrealEditor-CoreUObject.dll!LoadPackage(UPackage * InOuter, const wchar_t * InLongPackageNameOrFilename, unsigned int LoadFlags, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext) Line 1987 C++

Steps to Reproduce
  • Create a PCGGraph
    • I copied SimpleForestWorldRayHits.uasset in a test project
  • Run the ResavePackages commandlet
    • PROJECT_NAME  -run=ResavePackages -projectonly -KeepPackageGUIDOnSave -skipfails -onlysavedirtypackages  -skipcheckedoutpackages -IgnoreChangelist -GCFREQ=500 

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-200849 in the post.

0
Login to Vote

Fixed
Fix Commit31872634
Main Commit31876437
Release Commit31872685
CreatedNov 20, 2023
ResolvedFeb 28, 2024
UpdatedMar 18, 2024