Widget, Property

Hello.

I want make widget pool system.

in singleton class make widgetpool array or map and create it when start singleton.

use widget and return to pool is works well, but when use returned pool widget property not initial value.

i wanna use pool system with various widget types.

widget example is

UCLASS()
class YOURPROJECT_API UBaseWidget: public UUserWidget
{
GENERATED_BODY()

public:
void ResetWidget();
};

UCLASS()
class YOURPROJECT_API UBWidget : public UBaseWidget
{
GENERATED_BODY()

public:
UPROPERTY() bool AA = false;
};

UCLASS()
class YOURPROJECT_API UCWidget : public UBaseWidget
{
GENERATED_BODY()

public:
UPROPERTY() float DD = false;
UPROPERTY() float EE = false;
};

after, i use B widget and change AA value to true.

end using BWidget, BWidget is collapsed and return to pool. when widget returned to pool execute ResetWidget() function in UBaseWidget and Reset widget’s AA property to false

in above case i want use UBWdiget, UCWidget with pooling system.
so if ResetWidget() executed in UBaseWidget, BWidget reset AA to false, CWidget reset DD to false, EE to false(initial value setting).

how can i do this in c++ code???