When I include WidgetComponent.h in a .cpp or .h file, I get these compile errors:
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\FieldNotification\FieldNotificationDeclaration.h(15): warning C4996: 'FieldNotificationDeclarationHeaderDeprecatedWarning': Including FieldNotification/FieldNotificationDeclaration.h is deprecated. The location of has changed. Please include FieldNotificationDeclaration.h instead and add the module FieldNotification to your .build.cs Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(222): error C4042: 'unnamed-parameter': has bad storage class
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(223): error C3646: 'UE_FIELD_NOTIFICATION_DECLARE_FIELD': unknown override specifier
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(223): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(223): error C2059: syntax error: '('
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(230): error C4183: 'UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BASE_BEGIN': missing return type; assumed to be a member function returning 'int'
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(235): error C2143: syntax error: missing ')' before ';'
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(235): error C2059: syntax error: ')'
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(217): error C2259: 'UWidget': cannot instantiate abstract class
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(215): note: see declaration of 'UWidget'
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(217): note: due to following members:
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Components\Widget.h(217): note: 'const UE::FieldNotification::IClassDescriptor &INotifyFieldValueChanged::GetFieldNotificationDescriptor(void) const': is abstract
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\FieldNotification\Public\INotifyFieldValueChanged.h(45): note: see declaration of 'INotifyFieldValueChanged::GetFieldNotificationDescriptor'
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Blueprint\UserWidget.h(221): error C2259: 'UUserWidget': cannot instantiate abstract class
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Blueprint\UserWidget.h(219): note: see declaration of 'UUserWidget'
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Blueprint\UserWidget.h(221): note: due to following members:
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\UMG\Public\Blueprint\UserWidget.h(221): note: 'const UE::FieldNotification::IClassDescriptor &INotifyFieldValueChanged::GetFieldNotificationDescriptor(void) const': is abstract
1>C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\FieldNotification\Public\INotifyFieldValueChanged.h(45): note: see declaration of 'INotifyFieldValueChanged::GetFieldNotificationDescriptor'
Note that I’ve of course included “UMG” in my project’s .Build.cs file.