what is the difference between two "identical" nodes?


what is the difference between two “identical” nodes?

Good question, I also wondered about it sometime ago.

	UE_DEPRECATED(5.1, "Direct access to Visibility is deprecated. Please use the getter or setter.")
	/** The visibility of the widget */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, FieldNotify, Getter, Setter, BlueprintGetter="GetVisibility", BlueprintSetter="SetVisibility", Category="Behavior")
	ESlateVisibility Visibility;
void UUserWidget::SetVisibility(ESlateVisibility InVisibility)
{
	ESlateVisibility OldVisibility = GetVisibility();

	Super::SetVisibility(InVisibility);

	if (OldVisibility != GetVisibility())
	{
		OnNativeVisibilityChanged.Broadcast(InVisibility);
		OnVisibilityChanged.Broadcast(InVisibility);
	}
}
ESlateVisibility UWidget::GetVisibility() const
{
	TSharedPtr<SWidget> SafeWidget = GetCachedWidget();
	if (SafeWidget.IsValid())
	{
		return UWidget::ConvertRuntimeToSerializedVisibility(SafeWidget->GetVisibility());
	}

	return Visibility;
}

First seems its being deprecated. As second it has events as visibility changed, those events will not fire if you directly change visibility value, since I didn’t see any broadcasts about those somewhere else.

Besides that I don’t know, would be great if explained :slight_smile: