GetParent of CommonActivatableWidget is returning nothing, how to call PushWidget?

I have a CommonUserWidget with a CommonActivatableWidgetStack in it as per the documentation. This has my main menu, which is a CommonActivatableWidget, set as the RootContentWidgetClass. It loads and displays fine. However, I cannot for the life of my figure out how to call PushWidget on the stack from a button within my CommonActivatableWidget. I tried creating a BlueprintInterface to be able to communicate across the widgets without references, but GetParent is empty. The documentation states GetParent should be the CommonActivatableWidgetStack, but it’s not.

So does anyone know how I’m supposed to be calling PushWidget here? Below is my setup.

Stack Widget

image

image

image

Main Menu

image

I can’t figure out what I’m doing wrong. My buttons work, but I’ve no way of reaching the parent stack. Below would work if that were the case.

Unfortunately GetParent is always empty.

lol, figured it out. I’ll walk through it in the event someone else has a similar problem. I was still holding onto the principles of the documentation. Don’t. I’m sorry Unreal, but your documentation is terrible.

First step. Move the UI initialization out of the level BP where the common ui tutorial tells you to put it. Move it instead to the player controller. In that player controller store a reference to your widget. Like the following.

Now make a blueprint interface with a function to return that variable. Example as follows.

Now make a blueprint interface to add to your widget with your activatable stack. Something like the following will be fine.

Now this will let you push to the widget stack from anywhere without hard references by using the player controller like the following.

I’ve confirmed this works for my case, but I’m not 100% if it’s the correct approach, but seams reasonably sound.