I noticed that some of the properties in UWidgetComponent
are protected and have no getter/setter, so that it is not possible to modify them from C++ code. I know that I could subclass the Component and make my own accessor functions, but I feel that there is no reason that they are missing in the base class.
Most notably from my perspective (but there may be others):
UPROPERTY(EditAnywhere, Category=UserInterface)
float RedrawTime;
UPROPERTY(EditAnywhere, Category=UserInterface)
bool bDrawAtDesiredSize;
Update:
Going through the class definition I detected some more properties without accessors. There is also no access from blueprint during runtime (EditAnywhere only). Maybe the properties are currently not designed or tested to be changed at runtime. If this is the case then the workflow would be to subclass WidgetComponent and set the properties in Constructor.
UPROPERTY(EditAnywhere, Category=UserInterface)
bool bManuallyRedraw;
UPROPERTY(EditAnywhere, Category=UserInterface)
bool bWindowFocusable;
UPROPERTY(EditAnywhere, Category=Rendering)
bool bIsTwoSided;
UPROPERTY(EditAnywhere, Category=Animation)
bool TickWhenOffscreen;