UMG - " Reference will be NULLed" on widget


Just to help other people who encounter the same issue as me on the 4.16.

In a package (on XboxOne but it might be on other platforms), I had a widget (ModeSelectionModel) included in another one (MainMenu) that was not loading and just replaced by Null.
I’ve got this message in the logs :

[2017.05.31-12.55.25:503] 45]LogProperty:Warning: Serialized Class /Script/CoreUObject.LinkerPlaceholderExportObject for a property of LinkerPlaceholderClass /Game/Widgets/MainMenu/MainMenu.PLACEHOLDER-CLASS__ModeSelectionModel_C_0. Reference will be NULLed.
    Property = ObjectProperty /Game/Widgets/MainMenu/MainMenu.MainMenu_C:ModeSelectionModel
    Item = LinkerPlaceholderExportObject /Game/Widgets/MainMenu/MainMenu.PLACEHOLDER-INST_of_ModeSelectionModel_C_0

If you have a similar issue, you will have to go the Class Settings of your widget (I did it on the child widget and the parent to be sure, but maybe just one or another will fix) and check “Force Slow Construction Path” in the “Widget Blueprint Options” category.

Cheers !

It’s a warning that the linker has failed to load circularly dependent data. Would be curious if you could share a small project that recreates this issue.

Unfortunately, there is too much dependencies (plugins + C++ + a lot of other resources) to recreate a small project quickly with these 2 widgets. I don’t think I will have time for now, sorry :frowning:
I looked at how these widgets were linked but it does not seems to have “circular” issues between them directly (maybe in another way?).

Also, the child widget do not refer to its parent widget in any way (variable or use in blueprint code).
I noticed that both of them are children (in a blueprint way) of the same blueprint.
I mean :
MainMenu inherits from MenuPage.
ModeSelectionModel inherits from MenuPage.
MainMenu act like a container of ModeSelectionModel and is just a Canvas with ModeSelectionModel in it.

I would like to check if this issue also appear on Windows but, as I said, I don’t have time to investigate right now, sorry :confused:

Thank you Begounet,
This has been helpful; experienced a similar situation.

I’ve got another issue linked to the “Force Slow Construction Path” a few days ago, so I just want to report it.
One of my UMG widget was using UDataTables as variables (owned by the class) but it seems that all the DataTables lost their references, and became “Null” when running on XboxOne. I solved the issue by enabling “Force Slow Construction Path” again.
I have multiple widgets that hold UDataTable references but they did not all lose their reference, only this one.
Like the other widget of my first post, there is a lot of dependencies and I cannot make a package with just that :confused:

I had been getting warnings errors like crazy. So I enabled “Force Slow Construction Path” in some of our widgets and now the packaged version throws this error on launch:

[2017.08.24-14.39.59:399] 86]LogWindows:Error: === Critical error: ===
[2017.08.24-14.39.59:400] 86]LogWindows:Error:
[2017.08.24-14.39.59:400] 86]LogWindows:Error: Assertion failed: InCanTemplate [File:E:\416_3\Engine\Source\Runtime\UMG\Private\WidgetBlueprintGeneratedClass.cpp] [Line: 131]
[2017.08.24-14.39.59:400] 86]LogWindows:Error:
[2017.08.24-14.39.59:401] 86]LogWindows:Error:
[2017.08.24-14.39.59:401] 86]LogWindows:Error:
[2017.08.24-14.39.59:401] 86]LogWindows:Error: KERNELBASE.dll!0x00000000214A5BF8

But yes, our game is effectively broken. We migrated from 4.15 to 4.16.3 and the problem only seems to happen in 4.16.

4.17 – The editor simply crashes to desktop, the crash reporter does not load.

Update: I found some more parent widgets that didn’t have the FSCP turned on. It’s not enough to just set it for the children. That got things rolling again. Still have several other widgets becoming Null. But we’re making progress.

It would be nice to know if this issue will be addressed in 4.17 and if we should simply wait for that. As of now we have to keep track of each widget we set.

Got this today updating from 4.18 to 4.19 … it was a disaster until I found the solution by OP. thanks.

Sadly this didn’t work for me. In my case I have a parent widget with several child widgets. All the child widgets are the same class, and they have a reference to other child widgets of the same class as themselves (which might be why this doesn’t work). I currently have about half a dozen on the parent widget. 4 of them have references to other widgets. 3 are fine, 1 just keeps blanking itself. I have no idea why. There is even another child widget that has a reference to the same widget as the one that 's clearing itself:

B-> A
C-> A

When I open the project B always clears its reference but C doesn’t. So weird.