In UE 5.4, when deleting actors in our levels, some blueprints will be mark dirty despite not having changed. We traced that down to FAssetRenameManager::CheckPackageForSoftObjectReferences.
The affected blueprints have the following properties
The following happens when an actor is deleted in the level,
UK2Node_EditablePinBase::UpdateUserDefinedPinDefaultValues() Line 446 UK2Node_FunctionEntry::FixupPinStringDataReferences(FArchive * SavingArchive) Line 1078 UK2Node::Serialize(FArchive & Ar) Line 133 UK2Node_EditablePinBase::Serialize(FArchive & Ar) Line 256 UK2Node_FunctionTerminator::Serialize(FArchive &) Line 39 UK2Node_FunctionEntry::Serialize(FArchive & Ar) Line 273 FAssetRenameManager::CheckPackageForSoftObjectReferences(...) Line 1568 FAssetRenameManager::GatherReferencingObjects(...) Line 1046 FAssetRenameManager::FindSoftReferencesToObjects(...) Line 320 UUnrealEdEngine::DeleteActors(...) Line 940 UActorElementEditorWorldInterface::DeleteElements(...) Line 77 FTypedElementCommonActionsCustomization::DeleteElements(...) Line 30 FActorElementLevelEditorCommonActionsCustomization::DeleteElements(...) Line 24 UTypedElementCommonActions::DeleteNormalizedElements(...) Line 83 UTypedElementCommonActions::DeleteSelectedElements(...) Line 62 UUnrealEdEngine::Exec_Actor(...) Line 2610 UUnrealEdEngine::Exec(...) Line 725
The mismatch is caused by the fact that the default value of enum pins is handled differently between the UserDefinedPins and the Pins arrays.
The code in UpdateUserDefinedPinDefaultValues will copy the string value of the enum in "PinInfo->PinDefaultValue" and mark the blueprint dirty. Since the modified node is transient (K2Node_FunctionEntry for the output pin of the latent node) this new value doesn't get serialized so the "fixup" doesn't hold up.
How do I set a material as a post-processing material?
How does TextureRenderTarget2D get TArray<uint8> type data?
UMG RichText not appear image when packaged
Why does the REMOVE method of map container remove elements have memory leaks?
UEFN CRASHING WHEN LAUNCHING SESSION
Why does the system plugin 'UnrealBuildTool' error could not be found when the project is compiled?
uefn session not lunching, wierd error
How to achieve HLSL Multiple Render Target in Material blueprints?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-225128 in the post.
1 |
Component | UE - Gameplay - Blueprint Editor |
---|---|
Affects Versions | 5.4, 5.4.4 |
Target Fix | 5.6 |
Created | Sep 23, 2024 |
---|---|
Updated | Sep 26, 2024 |