UE4 UMGのコンストラクタ/デストラクタが呼ばれるタイミング

やあ

UMG(WidgetBlueprint)のコンストラクタが呼ばれるタイミングを調べてみたよ。
間違ってたら教えてください。

Constructの呼ばれるタイミング

ウィジェットViewportに追加されたときに呼ばれます。
こんな感じのWBPがある。
f:id:pto8913:20210215001533p:plain

呼ばれる例
AddToViewportしたとき。
f:id:pto8913:20210215001530p:plain

PanelWidget(BorderやVerticalBoxなど)にウィジェットAddChildしたとき。
f:id:pto8913:20210215001536p:plain

呼ばれない例
VisibilityRenderOpacityなどを切り替えるだけでは呼ばれません。
f:id:pto8913:20210215001540p:plain

CreateWidgetでも呼ばれません。
f:id:pto8913:20210215001527p:plain

Destructの呼ばれるタイミング

PanelWidgetからRemoveChildしたり、RemoveFromViewportしたりしたとき。
f:id:pto8913:20210215001536p:plain

注意

親UMGがAddToViewportされたりAddChildされないと、子UMGのConstructは呼ばれないので注意。