After integrating 5.5 we’ve encountered a bug during Blueprint compilation where nested instanced fields fail to correctly update their internal references. This causes them to point to outdated object instances after reinstancing, which is breaking our pipeline. This issue is a major blocker for us, as we’re currently unable to work with Blueprints that rely on this feature.The problematic property looks something like this
UPROPERTY(Instanced, EditAnywhere, NoClear, BlueprintReadOnly) TArray<TObjectPtr<UCustomField>> CustomFieldList;
There are a few similar reports already on EPS, like: [Content removed]
It looks like the problem originated with this commit:
https://github.com/EpicGames/UnrealEngine/commit/d042e6634e23fb74b9ed2df75c23950d27de3fe2
Reverting the commit or replacing
for (const auto& Pair : OrderedListOfObjectToCopy)
with
for (const auto& Pair : CreatedInstanceMap)
in BlueprintCompilationManager.cpp resolves the issue on our end. Another suggestion we’ve seen (in the EPS thread above) is to set
Options.bReplaceInternalReferenceUponRead = true;
globally for every object it processes. (Move it above the if).
Do you have an official fix for it, or would any of the above solutions be considered safe to implement as a hotfix in the short term?