Hai, noob here, because this makes NO sense to me and I feel like it should be relatively simple.
To explain screenshots, the first one is the error being thrown and the node which is pointed to. I have inserted “IsValid” nodes in place of the main menu variable and the loading progress variable, and both of them return as valid references, but when I plug them into the “set percent” node, it returns that error.
I went to the first instance where these events are called, and put a full one second delay on it firing, to be 100% sure that the main menu widget was loaded in before it fired, and it still throws the error. At this point I am suspicious that something is firing pre-emptively due to the event dispatchers loading in on BeginPlay, because even if I disconnect the execution pin for the series of dispatch binders, it still throws the error on test launch even though it compiles cleanly.
“is main menu a user child widget of MyHud” - pretty sure it isn’t, though I am not sure if there is a way to manually set it so/if that helps.
Sorry, not at PC for closer screenshot, but the reference is set on sequence output 1, it’s the first three nodes. Construct main menu -> set as variable -> add to viewport.
I’m not doubting/saying you are wrong, but then why would the error log point to this series of nodes specifically? I have an error for every one of the nodes in those events marked “error city”, and all of them are the same. “Accessed none” at main menu. I am back at PC now, gonna glance over the things with fresh eyes and see if I missed something stupid.
Ok, I disconnected all of the nodes in the level that call the events bound in that section, and it stopped throwing the error… My absolutely noob assessment is that the level loads before the UI, and the engine is hunting those references at launch before they can be assigned if they are connected in any way. So… I’mma just build the initial launch in the UI itself and see how that goes.
Solved it — You need to create the bindings BEFORE constructing any widget that references the bindings. Derp. This one works, where I just insert the binding in front of the construct node.
But perhaps I misunderstood what you’re attempting to achieve, seeing how the bind targets *Self *in your image. Binding to self makes even less sense as children dispatcher calls are available directly (for widgets that are not created dynamically, that is):
Sorry, should have clarified, the events are in the HUD blueprint, and the widget calls them. They have to be bound before the widget is constructed, because (as far as I can tell) even though it doesn’t fire them, the widget checks it’s components and doesn’t see any event it can call on construct and throws the error.