IsDataValid is not called for components inherited via a parent's SCS. I've attached a small repro project. (4.27)

Steps to Reproduce
  • Create a native actor - AMyActor
  • Create a UActorComponent that overrides IsDataValid - UMyActorComponent
  • Create a Blueprint based on AMyActor - B_MyActor
  • Add a UMyActorComponent to B_MyActor in the Blueprint editor using the "Add Component" button on the SCSEditor
  • Create a child of B_MyActor  and override a property on the inherited MyActorComponent- B_MyActor_Child
  • Place a break point in UMyActorComponent::IsDataValid
  • Compile and save B_MyActor and B_MyActor_Child
  • Note that the SCS added component is validated for B_MyActor, but not for B_MyActor_Child

Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay - Blueprint
Affects Versions4.27
CreatedOct 7, 2021
UpdatedSep 22, 2022