Essentially, even though I change the default value on the BP class, the constructor still runs using the c++ parent class values.
Reproduction steps:
Create a new c++ actor class ‘MyActor’
Add propertt to MyActor header;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Material")
UMaterialInterface* Material;
Add null check to c++ constructor
if (Material == nullptr)
{
UE_LOG(LogTemp, Warning, TEXT(“Material null in constructor”));
}
Create BP child class in editor
Set value of Material on BP child class to any valid material and place BP child class in level
Check logs, null warning will still fire