In 4.18, BroadcastOnActorMoved() is no longer being called when an actor is moved in a level. The PostEditChangeProperty() function checks to see if the name of the property that was changed matches either "RelativeLocation", "RelativeRotation", or "RelativeScale3D". Currently the name of the property is set to the name of the axis that was changed ("X", "Y", or "Z"), so the strings do not match which prevents the BroadcastOnActorMoved() function from being called.
Yes. This behavior did not occur in 4.17.2.
The PropertyThatChanged is set based on the PropertyChangedEvent that is passed into the function. This shows that the "Z" Property was changed (or other axis if you changed a different one). PropertyName is then set to the name of the Property that was changed ("Z", or the name of the axis that you changed). Finally, bTransformationChanged compares PropertyName to see if that string matches "RelativeLocation", "RelativeRotation", or "RelativeScale3D". bTransformationChanged will be set to false since the strings do not match, which results in BroadcastOnActorMoved() never being called.
PropertyName is set to a value that matches one of the following strings: "RelativeLocation", "RelativeRotation", or "RelativeScale3D".
There's no existing public thread on this issue, so head over toAnswerHub just mention UE-55129 in the post.