Context:
Blueprint classes can use Instanced/EditInlineNew object property specifiers to create and edit subobjects directly in the editor.
Problem:
If a child blueprint class has an Instanced/EditInlineNew object property, that property will always be detected as changed by the property editor (i.e. it will show a "Revert" arrow on that property), even if its properties are identical to the parent.
Specifically, FPropertyNode::GetDiffersFromDefault always detects instanced inline objects as changed.
Repro project (Internal only):
1.) Download and open repro project
2.) Open BP_Child; Content Drawer > Content > BP_Child
3.) Expand drop down menu of "Subobject" to view everything
Observe: Revert button showing for Subobject property
Expected: No revert button as it is identical to the parent
4.) Click on revert button
Observe: Nothing changes, but BP_Child is marked as dirty and needs to be compiled and saved
Fresh project:
1.) Create a Blank project C++
2.) Create a new Object C++ class; Tools > New C++ Class, Under parent class go to All Classes then Object, any class name will do
3.) In the new class header, delete the contents and paste the following code replacing [Project name] and [Class name] with your setup:
#pragma once #include "CoreMinimal.h" #include "UObject/Object.h" #include "[Class name].generated.h" UCLASS(EditInlineNew) class [Project name]_API UTestSubobject : public UObject { GENERATED_BODY() public: UPROPERTY(EditAnywhere) int PropertyA; }; UCLASS(Blueprintable, Abstract, Const) class [Project name]_API UPropertyTestBlueprint : public UObject { GENERATED_BODY() public: UPROPERTY(EditAnywhere, Instanced) TObjectPtr<UTestSubobject> Subobject; };
4.) Save and close editor, then rebuild and reopen project
5.) Create a Blueprint Class based on PropertyTestBlueprint and name it BP_Parent; Content > C++ Classes > [Project Name] > Right Click PropertyTestBlueprint > Create Blueprint Class based on...
6.) Assign Test Subobject to Subobject property through the drop down menu
7.) Save and compile
8.) Create a Child Blueprint Class from BP_Parent and name it BP_Child; Content Drawer > Content > Right Click BP_Parent > Create Child Blueprint Class
9.) Open BP_Child
Observe: Subobject Property already has revert arrow next to the property
Expected: No revert button as it is identical to the parent
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-358470 in the post.
| 0 |
| Component | UE - Framework - Blueprint Editor |
|---|---|
| Affects Versions | 5.6, 5.7 |
| Created | Dec 17, 2025 |
|---|---|
| Updated | Dec 19, 2025 |