Description

The Blueprint diffing tool should skip transient properties.

Steps to Reproduce

Using the following code: 

////////////////////////////////
// UE-82616

USTRUCT()
struct FTestStruct
{
GENERATED_BODY()

FTestStruct() {}
FTestStruct(const class UTestComponent* InOwner) : Owner(InOwner) {};

UPROPERTY(Transient)
const class UTestComponent* Owner = nullptr;
};

UCLASS(Blueprintable)
class UTestComponent : public UActorComponent
{
GENERATED_BODY()

UPROPERTY(Transient)
FTestStruct Member = { this };
};

UCLASS(Blueprintable)
class ATestActor : public AActor
{
GENERATED_BODY()

ATestActor()
{
static const FName TestCompName = TEXT("TestComponent");
TestComp = CreateOptionalDefaultSubobject<UTestComponent>(TestCompName);
}

UPROPERTY(EditDefaultsOnly)
class UTestComponent* TestComp = nullptr;
};

Make a BP of TestActor

Submit to source control (I used a local git repo) 

Change a property on the BP 

Right Click on the BP in the content browser and select "Source Control > Diff against depot" 

 

UDN reports crash here

Have Comments or More Details?

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

0
Login to Vote

Cannot Reproduce
ComponentUE - Gameplay - Blueprint Editor
Affects Versions4.23
Target Fix4.26
Fix Commit14041674
CreatedOct 28, 2019
ResolvedAug 6, 2020
UpdatedApr 28, 2021